這個問題的兩個部分Is if(obj && obj!= nil)是否正確且必要?
1)這是什麼理解是正確的?
「if(obj)」正在測試以查看指針是否不是0x0,也就是說設置爲整數存儲器地址
「if(obj!= nil)」將對象的內存地址與內存地址通用零對象
2) 所以在我不知道變量是否指向任何東西的情況下,如果是,我也不知道該對象是否是有效對象或無。我想根據這些信息做各種各樣的事情,而不僅僅是傳遞一個消息給obj,如果它是零,我會認爲它是安全的。這段代碼是否正確和必要?
if (obj && obj != nil) {
// Do a bunch of things that should only happen if obj is pointing to a valid object
[obj someMessage];
[anotherObj someOtherMessage];
}
謝謝你們!
你怎麼'typedef'的價值? ;) –
哎呦。固定。謝謝,帕維爾。 –
一些其他的答案似乎是正確的,但我認爲這個解釋發生了什麼最好的工作。 – DougW