Consider the code:
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
Note that Int
is defined as a struct
.
So [Int]
is object, but [Int64]
is not and neither is my array of simple structures.
What is special about Int
?