特定の文字列で名前が付けられたオブジェクトを見つけることは可能ですか?
たとえば、私はそれをphpで使用できます
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
これは可能ですか?objectbynameは、このための適切な関数になります。
特定の文字列で名前が付けられたオブジェクトを見つけることは可能ですか?
たとえば、私はそれをphpで使用できます
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
これは可能ですか?objectbynameは、このための適切な関数になります。
名前付きオブジェクトをプロパティとして、またはある種の辞書に保存した場合に可能になる可能性があります。次に、次のようなことを行うことができます。
// Put object into dictionary
[dictionaryWithObjects setValue:someNamedObject forKey:@"someNamedObject"];
// and then retrieve it
id object = [dictionaryWithObjects valueForKey:@"someNamedObject"];
そして、ObjectiveCがそのレベルのメタプログラミングをサポートしているかどうかはわかりません。
PHPの場合とは異なりますが、文字列からクラスを取得することは可能です。関数を使用しNSClassFromString
ます。
たとえば、次の2行は同等です。
id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];
クラスを取得するために使用できNSClassFromString()
ますが、オブジェクトの特定のインスタンスでは、これは不可能だと思います。