这可能被视为一个小问题,但它在代码中看起来很丑陋,我想解决它。
我声明了一个可选变量,如果它不为空 (!= nil
),我想稍后更改它。代码是:
先声明
private var myVariable: Int? // Optional Integer variable
不为空时递减
{
if myVariable != nil {myVariable!--} // Same condition in "if" and in unwrapping
}
我需要 !
,即使 if-condition
确保变量有值。这是多余的,意味着 Swift 必须进行两次相同的比较。
有没有更优雅的方式来做到这一点?
我当前的 Xcode 版本是 6.3。
最佳答案
作为示例,您可以执行以下操作:
myVariable?++
myVariable?--
myVariable? += 10
这使用了可选的链接——如果 myVariable
有一个非零的值,它被展开并递增。否则语句返回 nil。
关于swift - swift 中带有可选变量的冗余 - 是否有优雅的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621907/