2012-02-02 4 views
2

クラスがプログラムによってどのようなプロパティを決定することは可能ですか?クラス(またはサブクラス)が定義したプロパティを確認したい。私はこれが実行時イントロスペクションと呼ばれるものと関係していると言われています。私はthis articleを見つけましたが、それはちょうど氷山の先端のようです。クラスがプログラムによってどのようなプロパティを決定できますか?

したがって、クラスがプログラムによってどのようなプロパティを決定できますか?どうやって?

編集:私はiOSの上で働いている

、ないのMac OS Xでどのようなヘッダ私はインポートする必要がありますか?

答えて

4

Objective-Cランタイムプログラミングガイドにはa section about listing propertiesが含まれています。実際にリストを取得し、関連するスニペットは次のとおりです。

id LenderClass = objc_getClass("Lender"); 
unsigned int outCount; 
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount); 

その後、あなたは、リスト内の各プロパティについて必要な情報を取得するには、ランタイム・プロパティ関数を使用します。

+0

コンパイラは暗黙的に宣言された関数について不平を言っています... – Moshe

+1

あなたは 'libobjc.dylib'と' #import 'にリンクしなければなりません。 – Moshe

関連する問題