2013-11-23 117 views
2

我在下面的for循環中收到「Expression result unused」警告。for循環中表達式結果未使用的警告

NSInteger i = 0; 
    for (i; i < tags.count; i ++) { 

    } 

好像我缺少關於如何在for循環的作品,任何人都可以揭示原因警告一些輕一些基本知識?

回答

3

既然你宣佈i外循環,在for的第一部分表達i未使用:

for (i /* <<== This one */ ; i < tags.count; i ++) { 

} 

for循環的語法讓你放棄其任何的三種表達隔間的內容。這應該可以解決這個問題:

for (; i < tags.count; i ++) { 

} 

事實上,你可以刪除所有三個,使得循環無限:

for (; ;) { 
    ... 
    if (some_condition) break; 
    ... 
} 

注:在一般情況下,你應該聲明循環變量作爲環頭的一部分。唯一的例外是當您需要在循環之外使用最終值i時。

1

替換爲您的代碼:

for (NSInteger i = 0; i < tags.count; i ++) { 

}