ios - 数组支持任何类型的值

标签 ios objective-c swift nsarray

根据 swift 文档 - “数组在有序列表中存储相同类型的值。”

摘自:Apple Inc.“The Swift Programming Language”。电子书。 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

谁能告诉我这是怎么回事?它们在数组中不是不同类型吗?

最佳答案

创建的justBlankArrayNSArray类型的,不是Swift类型的Array。如果你想在 Swift 类型的 Array 中存储任何类型的对象,你可以这样做:

var justBlankArray : [AnyObject] = []

它创建一个可以容纳任何类型对象的数组。即使是 C 结构,NSArray 也做不到。

关于ios - 数组支持任何类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007051/

相关文章:

objective-c - 检测 Ctrl + Return 或 Ctrl + Enter 按下

ios - 无法在 Xcode 中可视化图像

ios - Sinch 视频不想在 iOS 上运行 (Swift)

Ios Tap手势

ios - 应用程序图标未显示在 iTunes 中

ios - Firebase 仅加载一次数据并使用完成处理程序关闭

iphone - 访问 block 内的实例变量

ios - 在 Mac 上使用 SwiftUI App Lifecycle 时,@UIApplicationMain 只能用于 'class' 声明错误

swift - swift 数组中的 KVO 无法使用 Observable

ios - 从另一个选项卡栏 Controller 访问内容时发送到实例的无法识别的选择器