是否有可能找到用特定字符串命名的对象。按字符串名称的目标C对象?
例如,我可以使用在PHP
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
这可能吗? objectbyname会为此提供适当的功能。
是否有可能找到用特定字符串命名的对象。按字符串名称的目标C对象?
例如,我可以使用在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支持这个级别的程序设计。
您可以使用NSClassFromString()
来获得一个类,但是对于一个对象的特定实例,我认为这是不可能的。
它看起来不像它在PHP中那样,但是,是的,它可以从字符串中获得一个类。您使用NSClassFromString
函数。
例如下面的两行是等效的:
id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];