如何检查数组是否为空或空?
我想检查,如果我的数组是空的或空的,并基于我想创build一个条件为例。
if(array == EMPTY){ //do something }
我希望我清楚我在问什么,只需要检查我的数组是否为空?
问候
if (!array || !array.count){ ... }
检查数组是否不为零,如果不是 – 检查它是否不为空。
if ([array count] == 0)
如果数组为零,它也将为0,因为零映射到0; 因此检查数组是否存在是不必要的。
此外,你不应该使用array.count一些build议。 它可能会 – 工作,但它不是一个财产,并会驱使任何读取你的代码坚果,如果他们知道属性和方法之间的差异。
更新:是的,我知道,多年以后,伯爵现在正式成为财产。
你可以试试这个
if ([array count] == 0)
只是要真正详细:)
if (array == nil || array.count == 0)
if (array == (id)[NSNull null] || [array count] == 0) { NSLog(@"array is empty"); }
由于苹果将新的firstObject属性添加到NSArray,这也适用。
if (array.firstObject == nil) { // The array is empty }
由于零映射到0,这等于NO
,最优雅的方式应该是
if (![array count])
'=='运算符是没有必要的。
你也可以用if(nrow> 0)做这种testing。 如果你的数据对象不是一个正式的数组,它可能会更好。
null和empty是不一样的东西,我build议你用不同的方式对待它们
if (array == [NSNull null]) { NSLog(@"It's null"); } else if (array == nil || [array count] == 0) { NSLog(@"It's empty"); }
Swift 3
正如在swift 3的最新版本中,比较可选项与>和<的function是不可行的
仍然可以将可选项与==进行比较,因此检查可选数组是否包含值的最佳方法是:
if array?.isEmpty == false { print("There are objects!") }
按arrays计数
if array?.count ?? 0 > 0 { print("There are objects!") }
还有其他的方法也可以在这里查看链接到答案
if (array == nil || array.count == 0 || [array isEqaul [NSNull Null]])