出于某种原因,每当我尝试通过在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 :(得分: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]);
}