如何在iOS中检查NSArray为null或为空?

use*_*015 53 iphone ipad ios

在NSArray是alloc和init之后,如果NSArray中没有添加任何内容,如何检查它是null还是空?

谢谢.

Chr*_*ble 110

if (array == nil || [array count] == 0) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 不,你不需要两者.在Objective-C中忽略通过`nil`对象发送消息并将产生"0".因此`if([array count] == 0){...}`就足够了. (8认同)

Jos*_*erg 25

NSArray有count方法,常用的方法是...

if (![self.myArray count])
{
}
Run Code Online (Sandbox Code Playgroud)

这将检查数组中是否包含任何内容,或者是否设置为nil.

  • @OMGPOP:不,它没有 (4认同)
  • 如果myArray是nil,它会因Null指针异常而崩溃吗? (3认同)

sha*_*irv 12

虽然我们都在抛出相同的答案,但我想我也会这样.

if ([array count] < 1) {
    ...
}
Run Code Online (Sandbox Code Playgroud)


Jas*_*gun 9

和另一个

if(!array || array.count==0)
Run Code Online (Sandbox Code Playgroud)

  • 这意味着阵列不是零.但它仍然可能是空的,因此是逻辑的或检查计数是否为0.如果数组是nil(!array),则第二部分甚至不会被评估. (2认同)

小智 6

if([myarray count]) 它检查not empty和nil数组.