将 Objective-C 与 Swift 数组和 NOT 运算符进行比较



这些代码段是等价的吗?

目标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相同。它不保证数组的计数。

最新更新