相关疑难解决方法(0)

为什么非可选任何可以保持零?

在Swift中,我可以声明一个类型的常量Any并将其String放入其中.

let any: Any = "hello world"
Run Code Online (Sandbox Code Playgroud)

好.另一方面,我不能nil值放入,any因为它不是可选的.

let any: Any = nil

error: nil cannot initialize specified type 'Any' (aka 'protocol<>')
let any: Any = nil
              ^
Run Code Online (Sandbox Code Playgroud)

完善.但是为什么编译器允许我编写以下代码?

let couldBeNil: String? = nil
let any: Any = couldBeNil
print(any) // nil
Run Code Online (Sandbox Code Playgroud)

Any遵循Swift规则只能填充一个Optional var/let nil吗?

使用Xcode Playground 7.2 + Swift 2.1.1进行测试

optional swift

33
推荐指数
2
解决办法
1万
查看次数

标签 统计

optional ×1

swift ×1