可能重复:
Objective-C 是否使用短路评估?
如果一个对象属于某种类型,并且该对象的某个属性具有某个值,我想做一些事情。
我可以用吗:
if (objectIsOfType:x && object.property == y)
还是我需要嵌套这些?假设如果对象不是 x 类型,则请求 object.property 将出错。
可能重复:
Objective-C 是否使用短路评估?
如果一个对象属于某种类型,并且该对象的某个属性具有某个值,我想做一些事情。
我可以用吗:
if (objectIsOfType:x && object.property == y)
还是我需要嵌套这些?假设如果对象不是 x 类型,则请求 object.property 将出错。
不。Objective C(与 C 和许多其他语言一样)使用短路评估。
Objective-C 支持短路评估(从左到右)。但无论如何,您需要在 nil 上检查对象 :))