这是一段非常简单的代码,但我觉得有一种更优雅的方法:
if timeOfLastUpdate == nil {
timeOfLastUpdate = currentTime
return
}
//"Infinitesimal" moment of time used to update the position of the orbiter
let dt:CFTimeInterval = currentTime - timeOfLastUpdate!
timeOfLastUpdate = currentTime
//Other code
我觉得应该有一个更优雅的方式来做以下使用可选链锁也许。我不喜欢这样的事实
a)我检查值是否等于零,而不是使用某种可选的链接
b)线
timeOfLastUpdate = currentTime
重复两次。有更好的办法吗?有更符合斯威夫特的吗?
最佳答案
这个怎么样:
if timeOfLastUpdate = timeOfLastUpdate
{
dt = currentTime - timeOfLastUpdate
}
timeOfLastUpdate = currentTime
如果在“timeOfLastUpdate为零”的情况下需要返回代码而不运行“其他代码”,则可能需要将
timeOfLastUpdate = currentTime
赋值显示两次:if timeOfLastUpdate = timeOfLastUpdate
{
dt = currentTime - timeOfLastUpdate
timeOfLastUpdate = currentTime
return
}
else
{
timeOfLastUpdate = currentTime
}
//other code here.
关于ios - 有没有更好的方法可以做到这一点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30741155/