我有两个 if 语句要检查,其中一个检查的成本非常高。所以我想知道以下哪个语句的性能最高:
1) 我不喜欢“厄运金字塔”,但我确信它工作正常
for customObject in array {
if customObject.isSimpleBool {
if customObject.isCostlyBool {
// do some stuff
}
}
}
2) 我通常是这样写的……但是如果 isSimpleBool
是 false
,它会检查 isCoSTLyBool
吗?
for customObject in array {
if customObject.isSimpleBool && customObject.isCostlyBool {
// do some stuff
}
}
3) 我知道这行得通,但它的评估方式是否与解决方案 2 不同?
for customObject in array {
if customObject.isSimpleBool, customObject.isCostlyBool {
// do some stuff
}
}
4) 是否还有其他我没有找到的解决方案?
最佳答案
for customObject in array {
if customObject.isSimpleBool && customObject.isCostlyBool {
// do some stuff
}
}
这行得通,我已经多次使用这些带有 nil 检查的语句。
if (obj != nil && obj!.property == false) {}
在 obj
为 nil 的情况下,永远不会调用 obj.property
(否则应用程序会崩溃)
关于swift - 如何评估连续的 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44723537/