(ARCが有効になっています)
次のプロパティを宣言したBasicGameCardというクラス名があるとします。
@property (nonatomic) NSUInteger cardValue;
次に、派生クラスWarGameCard:BasicGameCardを作成します。
WarGameCardはsuitプロパティで拡張され、継承されたcardValueを使用してランクを表したいと考えています。質問:
プロパティを使用せずに
WarGameCard
クラスで変数を使用/呼び出すにはどうすればよいですか?_cardValue
a)書き込み:コンパイラエラーが発生します(objective-cには保護されたAccess修飾子がなく、変数はプライベートであると思います
_cardValue
)WarGameCard
b)使用できません
self.cardValue
が、コンパイルされますが、セッターを呼び出す無限ループが発生しますc)次のように書き込もうとしました
WarGameCard
:@synthesize cardValue = _cardValue;
しかし、デバッグ時に、スーパークラスと派生変数の2つの異なる変数がそれぞれ異なる値で表示されます継承されたプロパティをオーバーライドする正しい方法は何ですか