2015-10-16 49 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]); 
}