クラスのインスタンスを作成します。何らかの方法を使用して変数名を取得し、それを出力できますか? テストプロジェクトを行うときにこれが欲しいだけです。私が本当に意味しているのは変数名だと思います。
2 に答える
残念ながら、できません。
オブジェクト インスタンスには名前がありません。クラスには名前があります。メソッドには名前があります。プロパティには名前があります。しかし、オブジェクト インスタンスはそうではありません。変数には名前がありますが、それらはインスタンスに固有のものではなく、とにかくプログラムからアクセスすることはできません。
メソッドを呼び出すだけでdescription
、通常はインスタンスを識別するための小さな情報が得られますが、それは名前ではありません。
UIView
オブジェクトには数値tag
プロパティがあるため、そのプロパティを設定してコントロールをそのように識別できます。
ここで説明されているように、property_getAttributesはObjective-Cランタイムの一部ですhttp://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html#//apple_ref/doc/uid/ TP40008048-CH1-SW1。
ObjCクラスについて何らかの内省を得たい場合は、それが最適な方法です。Objective-Cランタイム自体は非常に安定しているので、これは不安定ではないと思います。さらに、公式ガイド(上記のリンクを参照)があるので、他の公式AppleAPIと同じくらい安定していると信頼できます。