index++和index+1嚴重區別

大家好!這個index++和index+1看似非常簡單的理解,也許會認爲就算髮生錯誤,我也可以很容易的發現,但是當這樣用的時候,就會出現邏輯錯誤了。

self.noLabel.text = [NSString stringWithFormat:@"%d/%ld",self.index+1,self.questions.count];

self.noLabel.text = [NSString stringWithFormat:@"%d/%ld",self.index++,self.questions.count];


看看這兩句代碼有什麼區別,對,就是index++和index+1

如果是做圖片瀏覽器的話,如果用index++,現在顯示的是1/5,那麼當你點下一步的時候就會顯示第三張圖片而不會顯示第二張圖片,

爲什麼呢?

因爲index++,當你點下一張圖片的時候,標籤是顯示3/5,因爲原來index=1 index++是先使用index的值再++,所以當這句(index++)過後 index=2;

然後點下一張圖片,再次調用監聽方法,則index++,index=3,這樣就跳過了第二張圖片



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章