我试过了:
var ss: [S] = NSMutableArray<S>(capacity: 0)
编译器说:无法专门化非泛型类型'NSMutableArray '
为什么?
答案 0 :(得分:19)
NSArray
和NSMutableArray
是Objective C类型,不支持泛型。您可以实例化为swift的本机数组类型:
var settings = [Setting]()
也可以写成
var settings = Array<Setting>()
感谢类型推断,您不必指定类型,但如果您愿意,这是完整版本:
var settings: [Setting] = [Setting]()
var settings: Array<Setting> = Array<Setting>()
请注意[Setting]
和Array<Setting>
是可以互换的,这意味着它们定义了相同的对象类型,因此您可以使用您想要的更多。