通常,您需要编写如下代码:
if someOptional != nil {
// do something with the unwrapped someOptional e.g.
someFunction(someOptional!)
}
Run Code Online (Sandbox Code Playgroud)
这似乎有点冗长,而且我听说使用!强制解包操作符可能是不安全的,最好避免使用.有没有更好的方法来处理这个?
我有一个网络方法,返回一个完成闭包,带有一个Error参数.
我通常会避免强行展开,但在这种情况下,我会使用一个guard语句来检查是否error不是nil:
guard error == nil else {
print(error!)
return
}
...
Run Code Online (Sandbox Code Playgroud)
我正在调用的方法来自SDK,所以我真的不知道那里发生了什么.
一般情况下,这种力量解开线程是否安全?