如何检查数组是空还是空?

isc*_*ers 55 iphone objective-c

我想检查我的数组是否为空或为空,并在此基础上我想创建一个条件.

if(array ==  EMPTY){
//do something
}
Run Code Online (Sandbox Code Playgroud)

我希望我清楚我在问什么,只需要检查我的数组是否为空?

问候

Vla*_*mir 109

if (!array || !array.count){
  ...
}
Run Code Online (Sandbox Code Playgroud)

检查数组是否为零,如果不是,则检查它是否为空.

  • 没有 - "array.count"在这种情况下很好.无论如何,在语法上.文体?目前不建议采用特殊标准. (6认同)
  • 它可以工作,但它并不完全无瑕:`array.count`应该是`[array count]`,因为你不在这里处理属性(var). (5认同)
  • 这与`if(!array.count)`相同 (4认同)
  • 我认为风格意见的重要性是针对在对象上调用泛型方法的点符号,所以我在@Rengers上使用了这个.<等待圣战的角落里的懦夫> (2认同)

And*_*dan 27

if ([array count] == 0)
Run Code Online (Sandbox Code Playgroud)

如果数组为nil,那么它也将为0,因为nil映射为0; 因此检查数组是否存在是不必要的.

此外,您不应该像一些建议使用array.count.它可能是工作 - 但它不是一个属性,如果他们知道属性和方法之间的区别,就会驱动任何读取代码的人.

更新:是的,我知道多年以后,伯爵现在正式成为财产.


Van*_*nya 11

你可以这样试试

if ([array count] == 0)
Run Code Online (Sandbox Code Playgroud)


wil*_*ood 7

只是为了真正详细:)

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


qua*_*rac 5

最棒的表演.

if (array.firstObject == nil)
{
    // The array is empty
}
Run Code Online (Sandbox Code Playgroud)

大阵列的方法.

  • 最佳答案.其他人建议使用`count`属性,这意味着枚举数组并且可能是大数组的性能问题 (2认同)