我正在尝试检查数组中的某个位置是否为零,如下所示:
if (resultArray[1] == nil) {
NSLog(@"...");
}
但它总是崩溃并显示以下消息:
[_PFArray objectAtIndex:]: index (1) beyond bounds (1)'
我该如何解决此问题,或者有其他方法可以检查它?
谢谢!
if (resultArray[1] == nil) {
NSLog(@"..."); // <-- will NEVER be called
}
NSArray无法保持零。
尝试索引0
,因为你的数组只包含一个元素,那就是索引ist 0
,数组的最后一个可能的索引是[array count] - 1
。或作为所有指数的范围:0..[array count] - 1
if([resultArray count] > 1){
// holds at least 2 objects, valid indices: `0..[array count] - 1`
} else ([resultArray count]){
// holds exactly 1 object, valid indices: `0..0`
} else {
// empty, no valid index
}
数组中不能有空白位置。数组中的每个插槽都必须包含一个对象。您可以使用 array.count 来确定数组包含多少个对象。如果 array.count 返回 0,则数组为空(或 nil,这可能会令人困惑,但那是另一回事了。
如果 array.count 返回 3,则 array[0]、array[1] 和 array[2] 必须包含非 nil 值。这就是NSArray对象的工作方式。
这与 C 数组不同,在 C 数组中,指针数组可以包含 null 值。