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
请注意,使用 let nsa = NSArray(array: array)
代替 let nsa = array as NSArray
在 Swift 4.0 下没有警告,但从 Swift 开始会发出警告4.1.
关于swift - 如何在 swift 中向 NSArray 添加 nil 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50301767/