2012-08-09 61 views
4

我注意到,對於一個自定義的getter方法的屬性如何在Objective-C類使用自定義的getter方法

@interface MyClass : NSObject 
@property (nonatomic,getter=isActive) BOOL active; 
@end 

兩個

BOOL b = myObj.isActive 

BOOL b = myObj.active 

可用於獲取價值。在這兩種情況下,調用isActive方法。

  • 這兩種獲取屬性值的方法有什麼區別嗎?
  • 什麼是「推薦」方式?
+0

很多關於這方面的信息是在這[問題](http://stackoverflow.com/questions/9220028/dot-syntax-vs-method-syntax-with-getter) – 2012-08-09 12:15:56

回答

9

兩者沒有區別。在從英語語法的角度來看,替代名稱更有意義的情況下,如果要打破XYZ + setXYZ的既定慣例,則使用自定義名稱。例如,

if ([myRobot isActive]) { 
    .... 
} 

讀取優於

if ([myRobot active]) { 
    .... 
} 

你可以宣佈你的財產爲isActive,但隨後你的二傳手是setIsActive,這聽起來比setActive略差。

相關問題