我正在努力理解以下代码的行为:
let a: Any? = nil
let b: AnyObject? = a as AnyObject
if let c: AnyObject = b {
print(c)
print("That's not right, is it?")
} else {
print("I'd expect this to be printed")
}
在 Playground 中运行时,虽然 a 为 nil,但执行第一个闭包并打印以下内容:
<null>
不对,是吗?
问:这怎么可能?这是预期的行为吗?