Obj-C で実行時にプロパティを宣言する方法はありますか? 私は何かを探していましclass_addMethod
たが、プロパティのためです。
2 に答える
2
よくある誤解は、それ@property
がコード生成を意味するというものです。そうではありません。 @synthesize
それをします。だから、本当に、あなたの質問はおそらく実行時にセッター/ゲッターメソッドを生成する方法はありますか?
もちろん、答えはイエスです。すでに見つけたものをそのまま使用します。
于 2011-02-16T22:23:33.000 に答える
0
プロパティは、getter/setter メソッドのシンタックス シュガーです。
実行時に宣言することはできません。上記のコメントが言ったように、それらをどのように使用しますか?
ただし、それらを宣言して実行時に実装を追加することはできます。@synthesize キーワードは、デフォルトの getter/setter 実装をインストールするだけです。これを防ぐには、@dynamic キーワードを使用し、実行時に実装を提供します。
メッセージのインターセプト (NSObject>>(id)forwardingTargetForSelector および関連するメソッド) など、より軽量なアプローチを検討することをお勧めします。
于 2011-02-25T23:57:52.793 に答える