根据swift doc - “数组在有序列表中存储相同类型的值。”
摘自:Apple Inc.“The Swift Programming Language。”iBooks。 https://itun.es/in/jEUH0.l
var justBlankArray = []
var a:Int = 4
var b:Dictionary = ["Address":"Silver Oaks"]
justBlankArray = ["Tush",a,b]
println(justBlankArray[0].classForCoder)
println(justBlankArray[1].classForCoder)
println(justBlankArray[2].classForCoder)
输出 -
的NSString
的NSNumber
NSDictionary
谁能告诉我发生了什么事?它们在阵列中的类型不同吗?
答案 0 :(得分:0)
创建的justBlankArray
是NSArray
- 类型,不是Swift类型Array
。如果要在Swift类型Array
中存储任何类型的对象,可以这样做:
var justBlankArray : [AnyObject] = []
它创建一个可以容纳任何类型对象的数组。即使是C结构,NSArray
也不能。
答案 1 :(得分:0)
创建数组时:
var justBlankArray = []
类型为NSArray
,NSArray可以保存异构数据。 (意味着它可以容纳任何物体)
如果使用以下方式打印justBlankArray
的课程
println(justBlankArray.classForCoder)
结果会给你NSArray
。
答案 2 :(得分:0)