我是一個很長時間的C++程序員,在C#中有很長的時間。然而,我現在在Objective C中工作,而且我想知道,將消息發送到Objective C中的零對象是否有缺點?將消息發送到目標c中的零對象是否有缺點?
舉例來說,我很習慣這樣做:
MyClass* c = NULL;
// ...
if(c != NULL) c->MyMethod();
所以在目標C,我覺得自己做的:
MyClass* c = nil;
// ...
if(c != nil) [c MyMethod];
所以,我想知道是,是否有任何好處在檢查零?如果我嘗試發送消息給零,Objective C是否足夠聰明,不會做任何額外的奇怪處理?還是有一些隱藏的成本,使得值得繼續檢查零?
只要注意您使用返回值的情況。 – 2011-05-04 03:03:41