![]() |
1
4
当然。有许多适当的使用武力拆封,其中一个崩溃只会发生在早期的发展,因为一个错误已经作出,一旦修复,崩溃不会再发生。 一个常见的例子是从资源包访问映像。一行,如:
如果开发人员忘记瞄准
其他常见的例子是outlet。它们通常是隐式展开的,因为在视图控制器的代码中使用它们时,它们已经被附加。撞车可能意味着插座没有正确连接。修好了就不用担心了。无需处理警卫或其他可选检查。
最后一个例子(还有更多的可能性)。从表视图中对单元格进行出列时,强制将结果单元格转换为自定义单元格类型。不需要警卫。我一直看到这里的代码使用了一个警卫
尽管如此,新的swift开发人员应该避免
如果潜在的崩溃完全由开发人员控制,并且崩溃只可能因为开发人员出错而发生,那么使用
如果潜在的崩溃可能是由意外数据(json解析、用户输入等)引起的,则永远不要使用
是的,有很多情况下,强制展开、强制转换和隐式展开变量是正确的选择。 |
![]() |
clayjones94 · 从XCTestCase打开Safari 7 年前 |
![]() |
artyom.razinov · iOS单元测试:如何处理测试的完成? 7 年前 |
![]() |
Wazza · 测试显示和消失的动画标签的文本 8 年前 |
|
Luca D'Alberti · 管理XCTests上的多个异步操作 10 年前 |
|
SwiftingDevRok · Realm模型在运行单元测试时不存储数据 10 年前 |
![]() |
Drux · 无法在Objective-C单元测试中使用Swift类 10 年前 |
![]() |
patrickS · Swift XCTest失败,因为找不到plist文件 10 年前 |