是否可以找到以特定字符串命名的对象。
例如我可以在php中使用它
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
这可能吗? objectbyname对此有适当的作用。
答案 0 :(得分:4)
如果将命名对象存储为属性或存储在某种字典中,则可以。然后你可以做这样的事情:
// Put object into dictionary
[dictionaryWithObjects setValue:someNamedObject forKey:@"someNamedObject"];
// and then retrieve it
id object = [dictionaryWithObjects valueForKey:@"someNamedObject"];
我不确定ObjectiveC是否支持这种级别的元编程。
答案 1 :(得分:2)
它看起来并不像在PHP中那样,但是,是的,可以从字符串中获取一个类。您使用NSClassFromString
功能。
例如,以下两行是等效的:
id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];
答案 2 :(得分:0)
您可以使用NSClassFromString()
来获取一个类,但对于对象的特定实例,我认为这是不可能的。