是否有一种简单的方法来重命名父级属性或让新属性重用现有属性?
例如,我有一个父类定义如下:
@interface Parent : NSObject
@property NSString* Name;
@end
如果我想要一个子类使用该Name属性但是要将其称为其他内容,我知道我可以这样做:
@interface Child : Parent
@property NSString* ChildName;
@end
@implementation Child
- (void) setChildName:(NSString *)ChildName
{
[super setName:ChildName];
}
- (NSString *) ChildName
{
return [super Name];
}
@end
但是使用getter / setter有更简单的方法吗?这对我不起作用:
@interface Child : Parent
@property (getter=Name, setter=setName) NSString* ChildName;
@end
答案 0 :(得分:0)
Oren是正确的,你有一些与理解属性有关的工作,但你可以尝试设置这样的getter / setter:
@interface Child : Parent
@property (getter=childName, setter=setChildName) NSString* Name;
@end
您可能还希望在属性描述中添加(强大的,非原子的)(或适用于您的上下文的任何内容)。