これ以上の時間を費やす前に、これについて明確な答えを得たいだけです。Objective-Cプロパティの合成を簡単にするためにプリプロセッサマクロを書き留めています。私が見た1つのアイデアは、#define SYNTHESIZE(_X_) @synthesize _X_ = _##_X_
のようなもので、同様の名前のインスタンス変数にアンダースコアの接頭辞を付けてプロパティをバインドします。@synthesize [プロパティ名]構文についての質問
この問題をさらに解決しようとすると、私はプロパティ名で@synthesizeを呼び出すことができますが、間接的にこのプロパティ名を取得できますか?たとえば、あるクラスを通してすべてのプロパティの名前を見つけるためにクラスのイントロスペクションを行う場合、これらのうちの1つを@synthesizeに渡すことは可能でしょうか、それとも実際の名前自体でなければなりませんか?それが何らかの用途であれば、私はLLVM 2.0でコンパイルしています。
プロパティイントロスペクションの結果に基づいて、実行時にclass_addMethodでゲッターとセッターを追加する方法はありますか?私が理解していることから、あなたは参照するためにIMPを事前定義しなければならないので、これは不可能かもしれません。 –
確かに可能ですが、SELに基づいて何をすべきかを把握するのに十分柔軟なIMPとして機能するC関数を記述する必要があります。生成されたメソッドよりも処理速度が遅くなり、アトミックプロパティに問題が発生する可能性があります。試してみることはお勧めしません。 –