在子类中,我需要重写属性getter。子级需要比较父级的值,并决定是返回还是返回其他内容。
在下面的例子中,我有一个人有一颗心。人和心都来源于单位。一个人的修改日期是他整个身体和他所有器官中的后一个器官(在这个例子中,他只有一个器官--一个心脏)。问题是自动生成的指针_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发布于 2014-08-07 22:51:13
我相信你想要的是:
- (NSDate*)dateModified
{
if ([super dateModified].timeIntervalSince1970 > self.heart.dateModified.timeIntervalSince1970) {
return [super dateModified];
} else {
return self.heart.dateModified;
}
}https://stackoverflow.com/questions/25193443
复制相似问题