可能重複:
Does Objective-C use short-circuit evaluation?'if'語句是否總是評估所有條件?
如果對象是特定類型的,而該對象的屬性有一定的價值,我想要做的事。
我可以使用:
if (objectIsOfType:x && object.property == y)
還是需要嵌套這些?假設如果對象不是x類型,那麼詢問object.property將會發生錯誤。
可能重複:
Does Objective-C use short-circuit evaluation?'if'語句是否總是評估所有條件?
如果對象是特定類型的,而該對象的屬性有一定的價值,我想要做的事。
我可以使用:
if (objectIsOfType:x && object.property == y)
還是需要嵌套這些?假設如果對象不是x類型,那麼詢問object.property將會發生錯誤。
編號目標C(作爲C和許多其他語言)使用short circuit evaluation。
if if' objectIsOfType:x'將失敗,整個'if'將是錯誤的,這是預期的行爲。因爲在評估「object.property」時他需要'objectOfType:x'類型爲x,那麼它應該在OP提供的情況下工作。 – Dementic 2012-08-12 13:40:29
Objective-C支持短路評估(從左到右)。 但無論如何,你需要檢查對象上無:))
謝謝 - 我錯過了搜索的術語。刪除它是否是一個好習慣? – 2012-08-12 13:46:18
我不這麼認爲 - 見http://blog.stackoverflow.com/2010/11/dr-strangedupe-or-how-i-learned-to-stop-worrying-and-love-duplication/ – 2012-08-12 13:56:29