sil*_*vsk 5 arrays nsobject swift anyobject swift3
以下代码在Swift 3上崩溃,任何人都可以解释原因吗?
struct S {
let a:Int
}
let t = [S(a: 8)]
let u:AnyObject = t as NSObject
let v:[S] = u as! [S]
Run Code Online (Sandbox Code Playgroud)
是因为在Swift 3结构数组中是NSObject(它不在Swift 2中)并且它不知何故不能很好地转换为NSArray?为什么NSObject?..
一种可能的解决方案是使用带有可选向下转型的条件绑定:
if let v = u as? [S] { /* */ }
Run Code Online (Sandbox Code Playgroud)
不知道为什么强制沮丧不起作用。可能发生了一些奇怪的事情NSObject。
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |