这些代码段是等价的吗?
目标C:
if !someArray {
// do something
}
迅速:
if someArray.isEmpty {
// do something
}
它们是不同的。
Objective-C代码检查数组是否存在。换句话说,它检查数组是否nil
。
Swift 代码检查数组是否为空。
要确保 Swift 数组不nil
,您可以使用以下命令:
if someArray != nil {
print("The array is not nil")
}
假设someArray
定义为:
NSArray *someArray = @[@1, @2, @3];
然后if !someArray {
检查指针是否不为零,这几乎与检查指针是否不nil
相同。它不保证数组的计数。