0

このプロパティを含むMatchingGameクラスがあります:

@property (strong, nonatomic) NSMutableArray *cards;

MatchingGame には、次のように遅延してカードをインスタンス化するセッターもあります。

- (NSMutableArray *)cards
{
    if (!_cards) _cards = [[NSMutableArray alloc] init];
    return _cards;
}

CardMatchingGame クラスは Matching game を継承しているので、サブクラスで cards プロパティにアクセスできると思っていました。ただし、@propertyCardMatchingGame.m の@interface ... endコード ブロックに を追加しない限り、Property 'cards' not found on object of type 'CardMatchingGame'

私は iOS と Objective-C のプログラミングに慣れていないので、継承について癖があるかどうかわかりません。スーパー クラスでカードを定義し、サブクラスでアクセスできるようにすべきではありませんか?

4

2 に答える 2

1

@property (strong, nonatomic) NSMutableArray *cards;MatchingGame の .h ファイルでを宣言しましたか? その場合、CardMatchingGame によって継承されます。

于 2013-07-20T20:05:56.027 に答える
0

ClassB が ClassA を継承しているとしましょう。このような継承を実現しています。

ClassA.h :

@interface ClassA
//...
@property (strong, nonatomic) NSMutableArray *cards;
@end

ClassB.m :

@implementation ClassB

    - (void)foo
    {
        //...
        self.cards = someValue;
        //...
    }
@end
于 2013-07-20T20:09:58.530 に答える