1

そうです、NSClassFromStringとNSSelectorFromStringを実行できることに気づきました。

NSVariableFromString のようなことは可能ですか?

4

3 に答える 3

4

Objective C ランタイムには、消費するための多くの利点があります。

iVar が必要な場合は、文字列名で object_getInstanceVariable を呼び出すことができます。

変数が必要な場合は、もう少し手間がかかり、リンカーからグローバルに見えるようにする必要があります。そのために CFBundleGetDataPointerForName を使用できます。

ランタイム情報に関する制限と特定の情報、およびさまざまなプラットフォームでの利用可能性については、ドキュメントを必ずお読みください。

于 2012-08-03T19:03:39.317 に答える
4

いいえ。デバッグ情報が含まれている場合を除いて、コンパイルされたアプリケーションには変数名が含まれていません。通常はリリース アプリケーション用ではありません。

于 2012-08-03T10:54:15.807 に答える
1

を使用して文字列からを取得できますNSScannerが、JemeryPが指摘しているように、実行時に変数名は通常、ポインタとメモリアドレスに変換されています。

于 2012-08-03T11:02:42.097 に答える