2011-01-20 10 views
0

最近私は "ココアデザインパターン"を読んでいました。 KVCの話をするとアクセサが名前の場合、それは」KVCチェックを言った - < キー>または< キー>が最初に存在していない場合、それは< キーを名前付きインスタンス変数をしようとします-get>または_ < キー>」と表示されます。 obj-c実行時にインスタンス変数が存在するかどうかチェックできますか?私は、それは確かにすることができますCocoaのKVCは、インスタンス変数がアクセス可能かどうかをどのようにチェックしますか?

答えて

1

^_^

どれでも答えが高く評価されている...それだけでコンパイル時に行うことができると思います。関連するドキュメントはthe Objective-C Runtime Referenceです。具体的にはclass_getInstanceVariableです。ドキュメンテーションが省いている部分は、クラスのインスタンスにそのような変数がない場合、その関数はNULLを返します。

KVCは、オブジェクトのクラスと候補変数名をその関数に渡し、実行時に最初に実行される名前はIvarです。

+0

ありがとうございます!私はObj-Cランタイムが本当に強力であることを認めなければなりません〜 – huoxinbird

関連する問題