1

假设你的父类是,例如MyClass.m

@interface MyClass()
  @property (nonatomic, readwrite, retain) NSString * str;
@end

而你继承了这个类,想修改 的值str,不碰MyClass.mor可以MyClass.h吗?

谢谢。

4

1 回答 1

1

是的,您可以,只需使用 KVC:

 [anObject setValue:@"foo" forKey:@"str"];
 NSString* x =[anObject valueForKey:@"str"];

不要这样做*.h由于父类的开发人员想要隐藏它,因此该属性对公共接口隐藏。

最终,父类的开发者可能会停止使用该属性。那么你使用这个属性的代码将会崩溃。

所以,不要这样做。

于 2012-09-13T09:13:44.033 回答