2009-04-28 5 views
4

Objective-Cオブジェクトインスタンスに新しいプロパティを動的に追加することが実行時に可能かどうか疑問に思っていましたか?Objective-Cでコーディングするときに実行時にプロパティを追加できますか

最初の考えでは、getValueForKeyをオーバーライドしてプロパティを "偽造"しますが、これはCoreAnimationでは機能しないようです。私が達成したいのは、カスタムプロパティをアニメーション化できることです。私はCALayerのサブクラスを作成し、サブクラスに宣言されたプロパティを追加すると、それを動作させることができました。私がgetValueForKey/setValueForKey戦略を使用しようとすると、CoreAnimationはそれを気にせず、明示的に宣言されたプロパティを探しているようです。

実行時までアニメーション化したいプロパティがわからないことがあるので、プロパティを動的に追加したいと考えています。私はもちろん、私が今までアニメーション化したいすべてのプロパティを持っているのCALayerのサブクラスを作成します...しかし、これを行うためのよりよい方法があるかどう思っ...

おかげで、

ピーター

することができます

答えて

3

代わりにvalueForUndefinedKeyを上書きしようとしましたか? (名前をデータベースから取得したさまざまなプロパティを持つカスタムNSObjectサブクラスでこれを行います)

1

-respondsToSelector:-doesNotUnderstand:をオーバーライドして、必要に応じて受信メッセージを動的に処理できます。

関連する問題