【发布时间】:2018-02-27 20:26:42
【问题描述】:
我可以从 NSMutableSet 转换为 Set 没问题,但是在执行反向操作时遇到了问题。
例如这行得通:
let nsSet = NSMutableSet(array: ["a", "b"])
let swiftSet = nsSet as! Set<String>
但是当我尝试时:
let nsSet2 = swiftSet as? NSMutableSet
nsSet2 最终成为 nil。
【问题讨论】:
-
不要那样做。根本不要在 Swift 中使用
NSMutable...集合类型。Set和var是免费可变的(并且类型安全)。 -
@vadian 需要存储在 NSUserDefaults 中,例如
-
我对此表示怀疑。
NS(Mutable)Set不是符合属性列表的类型 -
@vadian:是的,你是对的。原来我是looking at NSKeyValueCoding methods instead。
标签: swift type-conversion set nsset