子类如何访问父项指向属性的指针?

时间:2014-08-07 22:43:51

标签: objective-c inheritance properties override

在子类中,我需要覆盖属性getter。孩子需要比较父母的价值并决定是否退还或返回其他内容。

在以下示例中,我有一个 Heart ,其 Heart Person Heart 都来自 Unit 的修改日期是他整个身体及其所有器官的后者(在这个例子中,他只有一个器官 - 一颗心脏)。问题是子类的自动生成的指针_dateModified未声明。

@interface Unit
@property (nonatomic, strong) NSDate* dateModified;
@end

@interface UnitHeart : Unit
@end

@interface UnitPerson : Unit
@property (nonatomic, strong) UnitHeart* heart;
@end

@implemenentation UnitPerson

- (NSDate*)dateModified
{
    if (_dateModified.timeIntervalSince1970 > self.heart.timeIntervalSince1970) {
        return _dateModified;
    } else {
        return self.heart.dateModified;
    }
}

@end

1 个答案:

答案 0 :(得分:0)

我相信你所追求的是:

- (NSDate*)dateModified
{
    if ([super dateModified].timeIntervalSince1970 > self.heart.dateModified.timeIntervalSince1970) {
        return [super dateModified];
    } else {
        return self.heart.dateModified;
    }
}