是否有可能找到用特定字符串命名的對象。按字符串名稱的目標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];