Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Swift中的任何项目中获取原始值?_Swift - Fatal编程技术网

如何从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声明为可选来实现相同的结果。