親クラスが、たとえばMyClass.m
@interface MyClass()
@property (nonatomic, readwrite, retain) NSString * str;
@end
そして、あなたはこのクラスから継承し、の値を変更したいのですがstr
、またはに触れずにそれは可能ですMyClass.m
かMyClass.h
?
ありがとう。
親クラスが、たとえばMyClass.m
@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
親クラスの開発者がプロパティを非表示にしたかったため、プロパティはのパブリックインターフェイスから非表示になっています。
最終的に、親クラスの開発者はプロパティの使用を停止する可能性があります。次に、このプロパティを使用するコードがクラッシュします。
だから、これをしないでください。