2010-06-04 54 views
1

是否有可能找到用特定字符串命名的對象。按字符串名稱的目標C對象?

例如,我可以使用在PHP

$objectname="foo"; 
$foo="bar"; 
echo $$objectname="bar"; 

這可能嗎? objectbyname會爲此提供適當的功能。

回答

4

如果您將命名對象存儲爲屬性或某種類型的字典,這可能是可能的。然後你可以做這樣的事情:

// Put object into dictionary 
[dictionaryWithObjects setValue:someNamedObject forKey:@"someNamedObject"]; 

// and then retrieve it 
id object = [dictionaryWithObjects valueForKey:@"someNamedObject"]; 

而且我不確定ObjectiveC支持這個級別的程序設計。

0

您可以使用NSClassFromString()來獲得一個類,但是對於一個對象的特定實例,我認爲這是不可能的。

2

它看起來不像它在PHP中那樣,但是,是的,它可以從字符串中獲得一個類。您使用NSClassFromString函數。

例如下面的兩行是等效的:

id a = [[NSClassFromString(@"NSString") alloc] init]; 
id a = [[NSString alloc] init];