为什么将nil值设为Any不被认为是零?

时间:2018-05-10 14:23:31

标签: swift casting any

在Swift中,将可选常量强制转换为Any是合法的,例如:

let nilValue: String? = nil
let any: Any = nilValue

无需将any声明为可选的任意(Any?

然而,令我惊讶的结果是:

print(any == nil) // false
print(any) // nil

这似乎是冲突。

我可以找workaround来检查any是否nil,但我的问题是这种行为的原因是什么?

如果我将any声明为:,请注意

let any: Any? = nilValue

的输出
print(any == nil)

将是true

0 个答案:

没有答案