我无法理解AnyObject的局限性.
您可以从标题中看到Array是一个结构体.不过,这段代码有效:
var whatobject : AnyObject
whatobject = [1,2]
Run Code Online (Sandbox Code Playgroud)
而且它不仅仅是文字数组:
var whatobject : AnyObject
let arr = [1,2,3]
whatobject = arr
Run Code Online (Sandbox Code Playgroud)
但是,我无法分配我所做的结构whatobject:
struct S {}
var whatobject : AnyObject
whatobject = S() // error
Run Code Online (Sandbox Code Playgroud)
那么数组毕竟不是一个真正的结构?
当桥接进来时,这是有趣的部分......
默认情况下,Swift桥
Int (和朋友)来 NSNumberString 至 NSStringDictionary 至 NSDictionary所以如果需要,编译器会将它们更改为对象
你可以做到
var num : AnyObject = 1 // I think num is now NSNumber
var arr : AnyObject = [1,2,3] // I think arr is now NSArray of @[@1,@2,@3]
Run Code Online (Sandbox Code Playgroud)
并且你不能分配sturct/ enum到AnyObject因为它们不是对象类型(你可以Any用来保存它们)
| 归档时间: |
|
| 查看次数: |
7873 次 |
| 最近记录: |