如果某些可选项不是nil,那么执行代码的最佳方式是什么?显然,最明显的方法是直接检查值是否为零:
if optionalValue != nil {
//Execute code
}
Run Code Online (Sandbox Code Playgroud)
我也见过以下内容:
if let _ = optionalValue {
//Execute code
}
Run Code Online (Sandbox Code Playgroud)
第二个似乎更符合swift,因为它使用可选链接.使用一种方法比另一种方法有什么好处吗?有没有更好的方法呢?更好的是,我的意思是"更符合斯威夫特",不管这意味着什么.
var action = SKAction.sequence([
SKAction.waitForDuration(1),
SKAction.runBlock({
//Some code
})
])
Run Code Online (Sandbox Code Playgroud)
我希望上述操作在某些情况为真时继续重复执行。我怎样才能做到这一点?
我知道我可以一次使用动作,也可以runAction(action)永远重复执行一次runAction(SKAction.repeatActionForever(action))。我如何只在某些条件为真时重复它?
如果使用动作无法做到这一点,那么除了在某些条件为真的情况下可以重复这些步骤之外,还有另一种方法(显然,在单独的线程上,我不希望这冻结我的应用程序):
1)等一下
2)执行一段代码
3)检查条件是否正确。如果它停止重复。否则,重复。
我很犹豫,sleep()因为这听起来像是一个糟糕的解决方案,而且苹果公司不允许商店中的应用程序使用。