如果存在nil,强制解包会导致应用程序崩溃。这在您的应用程序的开发阶段非常酷。但是,如果你懒得去做,那么这对于你的制作尤其令人头疼。
是否有人尝试过任何运算符重载/覆盖,以阻止生成构建的这些崩溃?
答案 0 :(得分:7)
不,没有,没有,也不应该。
崩溃是意图。 Swift语言的实现者故意为了设计强制解包操作符(!
)而崩溃。
按设计。
遇到nil
但未安全处理时,有两种方法可以继续:
或强>
您认为哪两个选项更有意义?
答案 1 :(得分:2)
说实话,如果我必须维护一个使用类似内容的代码库,如果可能的话,我会把眼睛挖出来。 Swift提供了一种简单的方法来解决您因懒惰(可选项)而主动避免的问题。你可以对这些变量进行防范,但它需要与使用if语句相同的工作量。我建议的解决方案是停止懒惰并正确使用该语言。通过您的代码库并解决此问题,从长远来看,它将为您节省更多时间。