检查NSArray中的特定位置是否为零



我正在尝试检查数组中的某个位置是否为零,如下所示:

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 值。

最新更新