假设您的父类是,例如MyClass.m
@interface MyClass()
@property (nonatomic, readwrite, retain) NSString * str;
@end
您继承此课程并希望修改str
的值,是否可以不触及MyClass.m
或MyClass.h
?
感谢。
答案 0 :(得分:1)
是的,你可以,只需使用KVC:
[anObject setValue:@"foo" forKey:@"str"];
NSString* x =[anObject valueForKey:@"str"];
但不要这样做。该属性在*.h
的公共接口中隐藏,因为父类的开发人员想要隐藏它。
最终,父类的开发人员可能会停止使用该属性。然后,使用此属性的代码将崩溃。
所以,不要这样做。