由于某种原因,每次我试图通过在for循环中的索引中指定变量int来访问数组中的特定索引时,都会发生这种情况。当我这样做的时候,我会得到一个线程1错误,但是如果我使用了一个没有在for循环中声明的变量,那么它看起来工作得很好。代码:
for(int i =0 ; i<= [array count]; i++) {
NSNumber *convert = [array objectAtIndex:i]; //results in error
NSLog(@"%i", [convert intValue]);
}发布于 2015-10-16 08:56:00
问题是,您正在尝试访问超出其容量的数组。数组以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]);
}https://stackoverflow.com/questions/33166071
复制相似问题