rgh*_*ome 2 arrays object swift
考虑一下代码:
struct S {
var f : Int64 = 0
}
...
let coder : NSCoder = someCoder ...
let a : [Int] = []
coder.encodeObject(a) // compiles
let b : [Int64] = []
coder.encodeObject(b) // doesn't compile: not AnyObject
let s : [S] = []
coder.encodeObject(s) // doesn't compile: not AnyObject
Run Code Online (Sandbox Code Playgroud)
注意,Int定义为a struct.
所以[Int]为对象,但[Int64]不是也不是我的简单结构的阵列.
有什么特别的Int?
如果你导入Foundation(你必须是,因为你引用NSCoder)然后[Int]隐式桥接到NSArray因为Int隐式桥接到NSNumber.Int64并且您的非objc结构不会隐式桥接到ObjC类型,因此这些结构的数组不会桥接到NSArray.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |