@interface ClassA : NSObject {
}
@property (nonatomic, assign) id prop1;
@end
@implementation
@synthesize prop1;
@end
然后我有子类
@interface ClassB : ClassA {
}
@end
@implementation
- (id)init {
self = [super init];
if (self) {
}
return self;
}
//This is infinite loop
- (void) setProp1:(id)aProp
{
self.prop1 = aProp;
}
@end
,这是无限循环,因为从setProp1 ClassB的调用[ClassB的setProp1:VAL]从ClassB内部。
我已经尝试过电话[超级setProp1]但这
如何覆盖@property和分配覆盖二传手内在价值?假设我无法修改ClassA。
“我已经尝试致电[super setProp1],但是这个”...?有什么问题? 'super'在这里是正确的。 –
仅超级超级更改值。 self.prop1为null,super.prop1有价值。自我> prop1做的伎俩(如舍姆建议) – Marcin
self.prop1和super.prop1应该肯定*不*返回不同的值。你是否也重写了getter方法? –