我有一个类MatchingGame,它包含这个属性:
@property (strong, nonatomic) NSMutableArray *cards;
MatchingGame也有一个懒惰实例化卡片的setter,如下所示:
- (NSMutableArray *)cards
{
if (!_cards) _cards = [[NSMutableArray alloc] init];
return _cards;
}
CardMatchingGame类继承自Matching游戏,因此我希望能够访问子类中的cards属性。但是,除非我向CardMatchingGame.m @property
代码块添加@interface ... end
,否则我会收到Property 'cards' not found on object of type 'CardMatchingGame'
我是iOS和Objective-C编程的新手,所以我不知道是否存在我遗漏的遗传问题。难道我不能在超类中定义卡并在子类中访问它吗?
答案 0 :(得分:1)
您是否在MatchingGame的.h文件中声明了@property (strong, nonatomic) NSMutableArray *cards;
?如果是这样,它将由CardMatchingGame继承。
答案 1 :(得分:0)
假设ClassB继承自ClassA。我意识到这样的继承。
<强> ClassA.h 强>:
@interface ClassA
//...
@property (strong, nonatomic) NSMutableArray *cards;
@end
<强> ClassB.m 强>:
@implementation ClassB
- (void)foo
{
//...
self.cards = someValue;
//...
}
@end