1
假设您的父类是例如MyClass.m
访问您无法修改的父类扩展中定义的Obj-C属性
@interface MyClass()
@property (nonatomic, readwrite, retain) NSString * str;
@end
你从这个类继承和要修改的str
值,才有可能不接触MyClass.m
或MyClass.h
?
谢谢。
假设您的父类是例如MyClass.m
访问您无法修改的父类扩展中定义的Obj-C属性
@interface MyClass()
@property (nonatomic, readwrite, retain) NSString * str;
@end
你从这个类继承和要修改的str
值,才有可能不接触MyClass.m
或MyClass.h
?
谢谢。
是的,你可以只使用KVC:
[anObject setValue:@"foo" forKey:@"str"];
NSString* x =[anObject valueForKey:@"str"];
但不这样做。该属性对*.h
中的公共界面隐藏,因为父类的开发人员想隐藏它。
最终,父类的开发人员可能会停止使用该属性。那么你使用这个属性的代码会崩溃。
所以,不要这样做。
'你可以自己检查一下!' – Hemang