1

特定の文字列で名前が付けられたオブジェクトを見つけることは可能ですか?

たとえば、私はそれをphpで使用できます

$objectname="foo";
$foo="bar";
echo $$objectname="bar";

これは可能ですか?objectbynameは、このための適切な関数になります。

4

3 に答える 3

4

名前付きオブジェクトをプロパティとして、またはある種の辞書に保存した場合に可能になる可能性があります。次に、次のようなことを行うことができます。

// Put object into dictionary
[dictionaryWithObjects setValue:someNamedObject forKey:@"someNamedObject"];

// and then retrieve it
id object = [dictionaryWithObjects valueForKey:@"someNamedObject"];

そして、ObjectiveCがそのレベルのメタプログラミングをサポートしているかどうかはわかりません。

于 2010-06-04T09:07:48.293 に答える
2

PHPの場合とは異なりますが、文字列からクラスを取得することは可能です。関数を使用しNSClassFromStringます。

たとえば、次の2行は同等です。

id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];
于 2010-06-04T09:11:19.153 に答える
0

クラスを取得するために使用できNSClassFromString()ますが、オブジェクトの特定のインスタンスでは、これは不可能だと思います。

于 2010-06-04T09:07:41.480 に答える