问题是:这样做会更快:
if (!self.isStarted)
{
self.started = YES;
}
或简单地说:
self.started = YES;
并在每次传递循环时重新分配值。
答案 0 :(得分:1)
虽然编译器可能会对此进行优化,但self.started = YES;
会更快,因为它可以节省从内存中检索值并进行比较的开销。这个答案仅适用于低级语言;高级语言将依赖于实现。
答案 1 :(得分:1)
条件较慢,并不像简单地将变量设置为YES那样清晰。你的代码的重点在于你想要在保留代码之后确保变量为YES,并且因为在宏观方案中操作是如此便宜,为了便于阅读,只需将其设置为YES而不事先检查