2015-10-16 50 views
0

出於某種原因,每次嘗試通過在forloop中的索引中指定變量int來訪問數組中的特定索引時都會發生這種情況。當我做我得到一個線程1錯誤,但如果我使用一個變量,沒有在forloop本身聲明比它似乎工作正常。 代碼:使用本地變量訪問數組索引時出錯

for(int i =0 ; i<= [array count]; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; //results in error 
    NSLog(@"%i", [convert intValue]); 
    } 
+0

@Alexander蔭使用LLVM編譯器的Xcode。 –

+0

在第一個示例中,錯誤位於i <= [數組數量]中。第二:indexAt的價值是什麼? – theWalker

回答

1

問題是你正試圖訪問數組超出其容量。陣列以0索引開始並且上升到array.count - 1。這就是說,請及時與下面的代碼嘗試,你應該是好的:

for (int i = 0 ; i <= array.count - 1 ; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; 
    NSLog(@"%i", [convert intValue]); 
} 

另一個變化可能是:

for (int i = 0 ; i < array.count ; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; 
    NSLog(@"%i", [convert intValue]); 
}