斯威夫特的新代码和斯威夫特开放课程的代码如下:
if pending != nil {
acccumulator = pending!.binaryFunction(pending!.firstOperand,acccumulator)
pending = nil
}
当我了解解包时,
pending
在这种情况下,确保在if
块内不为零,那么为什么在使用它时要使用!
来解包挂起? 最佳答案
因为检查与块内的代码没有关系。在本例中,您应该使用if
,如下所示:
if let nonNilPending = pending {
acccumulator = nonNilPending.binaryFunction(nonNilPending.firstOperand,acccumulator)
pending = nil
}
这样你就可以避免用力打开。
关于swift - 为什么打开一个不能为零的变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40468533/