Appleは、次の方法でBOOLプロパティを宣言することをお勧めします。
@property (nonatomic, assign, getter=isWorking) BOOL working;
Objective-C 2.0のプロパティとドット表記を使用しているため、self.working
を使用してこのプロパティにアクセスします。 [self isWorking]
を使用することもできますが、そうする必要はありません。
だから、私はどこでもドット表記を使用しているのに、なぜ追加のプロパティを定義する必要があるのですか?単純に書いてもいいですか
@property (nonatomic, assign) BOOL working;
または、私の場合、getter=isWorking
を書く利点がありますか(ドット表記の使用)。
ありがとう!
Appleは、スタイル上の目的でisX
ゲッターを宣言することを単に推奨しています。正しい名前でドット表記またはメッセージ表記を使用する限り、ゲッター名をカスタマイズするかどうかは関係ありません。ドット表記を使用する場合、違いはありませんが、プロパティ名でアクセスできます。
@property (nonatomic, assign) BOOL working;
[self setWorking:YES]; // Or self.working = YES;
BOOL working = [self working]; // Or = self.working;
または
@property (nonatomic, assign, getter=isWorking) BOOL working;
[self setWorking:YES]; // Or self.working = YES;, same as above
BOOL working = [self isWorking]; // Or = self.working;, also same as above
Appleは文体的な目的のために推奨しています。このコードを書く場合:
@property (nonatomic,assign) BOOL working;
その場合、[object isWorking]は使用できません。
エラーが表示されます。しかし、以下のコードを使用すると
@property (assign,getter=isWorking) BOOL working;
したがって、[object isWorking]を使用できます。