NSArray.init(数组: [任意])
NSArray 有一个初始函数,其参数为 [Any]。但不是[Any?],那么,如何给这个数组添加一个nil值呢?
NSArray/NSMutableArray不允许你存储nil在数组中存储值。这就是为什么 Swift API 都不允许可选值的原因。
如果你真的需要零的东西,请使用NSNull()尽管我不能 100% 确定它如何与 Core Data 一起使用。
Swift 实际上已经为你做到了这一点。如果您传递一个 Swift 可选数组,任何nil值都会转换为NSNull. 例子:
var array = [Int?]()
array.append(4)
array.append(nil)
let nsa = array as NSArray
print(nsa) // (4, "<null>")
print(type(of: nsa[1])) // NSNull
Run Code Online (Sandbox Code Playgroud)
请注意,使用let nsa = NSArray(array: array)代替在let nsa = array as NSArraySwift 4.0 下工作时不会发出警告,但从 Swift 4.1 开始会发出警告。
| 归档时间: |
|
| 查看次数: |
872 次 |
| 最近记录: |