由於未能注意到[NSArray計數]爲unsigned
,我一遍又一遍地創建了錯誤。今天的例子是相對不尋常的:來自[NSArray計數]的常量錯誤未簽名
for (int i = -1; i < [myArray count]; i++) {
這個循環從不執行!你需要(int)[myArray count]
。我通常犯的錯誤是:
for (int i = 0; i < [myArray count] - 1; i++) {
如果數組是空的,這個循環執行基本上永遠因爲[myArray count]-1
溢出unsigned int
。
我做盡可能使用快速列舉,但在這個項目中,我經常需要在指標i-1
和i+1
指物體在處理對象i
,它似乎並沒有給自己借錢給。任何其他的提示,以避免這些錯誤,除了不那麼無能?
訪問數組中的索引值低於零的對象將導致崩潰。所以,最簡單的事情就是在寫循環時最好小心。 – Volker
嗯,我想知道爲什麼相關的編譯器警告被關閉。我沒有故意改變默認設置。下面的iOS_Pradip認爲這是Xcode中的新功能。 – Nestor