我想知道以下两种形式的惰性实例化中哪一种会生成更快的汇编代码。代码如下:
第一:
if (!_separatorTopBorderColor) _separatorTopBorderColor = UIColorFromHex(0x393A3B);
return _separatorTopBorderColor;
第二:
_separatorTopBorderColor = _separatorTopBorderColor ?: UIColorFromHex(0x393A3B);
return _separatorTopBorderColor;
最佳答案
这在 10 年前可能是一个问题,但现在,编译器确实可以看到三元
运算符和if-else
语句的任何差异。我的建议是,你应该集中精力让你的代码更具可读性、可维护性和高效性。在这种情况下,不要关心资源或内存使用情况。
关于objective-c - 使用吗? : to do an assignment produce faster assembly than using if()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691120/