1

クラスのインスタンスを作成します。何らかの方法を使用して変数名を取得し、それを出力できますか? テストプロジェクトを行うときにこれが欲しいだけです。私が本当に意味しているのは変数名だと思います。

4

2 に答える 2

2

残念ながら、できません。

オブジェクト インスタンスには名前がありません。クラスには名前があります。メソッドには名前があります。プロパティには名前があります。しかし、オブジェクト インスタンスはそうではありません。変数には名前がありますが、それらはインスタンスに固有のものではなく、とにかくプログラムからアクセスすることはできません。

メソッドを呼び出すだけでdescription、通常はインスタンスを識別するための小さな情報が得られますが、それは名前ではありません。

UIViewオブジェクトには数値tagプロパティがあるため、そのプロパティを設定してコントロールをそのように識別できます。

于 2012-11-27T06:50:53.637 に答える
0

ここで説明されているように、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と同じくらい安定していると信頼できます。

于 2012-11-27T07:23:19.303 に答える