gpt4 book ai didi

swift - (as!SKView?) 和 (as?SKView) 有什么区别

转载 作者:行者123 更新时间:2023-11-28 06:28:09 25 4
gpt4 key购买 nike

我刚刚构建了一个 SpriteKit 演示应用程序。我不在下面的代码下

if let view = self.view as! SKView? {
...
}

(self.view as!SKView?) 是什么意思?他们为什么不写这样的代码:

if let view = self.view as? SKView {
...
}

有什么区别?非常感谢!

最佳答案

案例一

self.view强制转换为 SKView? (又名 Optional<SKView> )。如果此转换失败(当 self.view 实际上不是 SKView? 时),则程序将崩溃以防止进入不一致状态。

结果SKView?然后安全地解包并分配给 view如果不是 nil , 否则 else有的话就执行。

案例2

self.view安全地转换为 SKView .此表达式的结果是 SKView .它将有一个有效值(如果可以转换的话),或者 nil如果 Actor 阵容不可能。与第一种情况不同,它不会崩溃。

结果SKView?然后安全地解包并分配给 view如果不是 nil , 否则 else有的话就执行。

关于swift - (as!SKView?) 和 (as?SKView) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com