1

親クラスが、たとえばMyClass.m

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

そして、あなたはこのクラスから継承し、の値を変更したいのですがstr、またはに触れずにそれは可能ですMyClass.mMyClass.h

ありがとう。

4

1 に答える 1

1

はい、できます。KVCを使用してください。

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

しかし、これをしないでください*.h親クラスの開発者がプロ​​パティを非表示にしたかったため、プロパティはのパブリックインターフェイスから非表示になっています。

最終的に、親クラスの開発者はプロパティの使用を停止する可能性があります。次に、このプロパティを使用するコードがクラッシュします。

だから、これをしないでください。

于 2012-09-13T09:13:44.033 に答える