3

カスタムゲッターメソッドを使用するプロパティの場合

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

両方とも

BOOL b = myObj.isActive

BOOL b = myObj.active

値を取得するために使用できます。どちらの場合も、isActiveメソッドが呼び出されます。

  • プロパティ値を取得するこれらの2つの方法に違いはありますか?
  • 「推奨される」方法は何ですか?
4

1 に答える 1

9

両者に違いはありません。英語の文法の観点から代替名の方が意味がある場合に、XYZ+の確立された規則を破りたい場合は、カスタム名を使用します。setXYZ例えば、

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

よりもよく読む

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

プロパティを として宣言することもできますが、isActiveセッターは になります。setIsActivesetActive

于 2012-08-09T12:16:37.573 に答える