2012-10-10 18 views

回答

1

如果position是一個屬性,你重寫聲明等效括號語法,你結束了:

[a setPosition:[self doSomeCalculations]]; 

沒有懶惰的評價在這裏進行。這不是任何不同當你考慮到所有這些括號表達式轉化爲函數的嵌套調用調用objc_msgSend()

objc_msgSend(a, sel_getUid("setPosition:"), objc_msgSend(self, sel_getUid("doSomeCalculations"))); 

底線是,[self doSomeCalulations]被評爲即使anil

0

是的。您正在分配什麼[self doSomeCalculations]將返回到a.position,無論它是否爲零。

此外,它可能取決於您是否已經爲位置編寫了自己的訪問器,但是如果您使用了d訪問器,它將被分配。