是否可以找到以特定字符串命名的对象。
例如我可以在 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
功能。
例如以下两行是等价的:
id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];
您可以使用NSClassFromString()
来获取类,但对于对象的特定实例,我认为这是不可能的。