如何从Swift中的任何项目中获取原始值?
我遇到了一个严重的问题。据我所知,这是可以理解的如何从Swift中的任何项目中获取原始值?,swift,Swift,我遇到了一个严重的问题。据我所知,这是可以理解的 let a1:Int? = 11223344 let a2:Any = a1 let a3:Int? = a2 as? Int println(a3) // result: nil 为什么任何都会发生这种情况?如何从任何获取原始值 我使用的是Xcode 6.0.1。您将a1声明为可选,这是枚举的一种类型,然后将可选(枚举)值分配给a2。请注意,枚举不是Int,因此
let a1:Int? = 11223344
let a2:Any = a1
let a3:Int? = a2 as? Int
println(a3)
// result: nil
为什么任何都会发生这种情况?如何从任何
获取原始值
我使用的是Xcode 6.0.1。您将a1
声明为可选
,这是枚举
的一种类型,然后将可选(枚举)值分配给a2
。请注意,枚举不是Int
,因此使用as?
将a2
动态强制转换为Int
的尝试失败。因此,a3
被设置为nil
要解决此问题,可以显式展开可选值,如下所示:
let a2:Any = a1!
您还可以通过将a2声明为可选来实现相同的结果。