0

我有一个类 MatchingGame,其中包含以下属性:

@property (strong, nonatomic) NSMutableArray *cards;

MatchingGame 也有一个用于懒惰实例化卡片的设置器,如下所示:

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

CardMatchingGame 类继承自 Matching 游戏,因此我希望能够访问子类中的卡片属性。但是,除非我在@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。我实现了这样的继承。

类A.h

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

B类.m

@implementation ClassB

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