0

Obj-C で実行時にプロパティを宣言する方法はありますか? 私は何かを探していましclass_addMethodたが、プロパティのためです。

4

2 に答える 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 に答える