当我在运行时只知道类名时,如何获取类对象

时间:2009-04-15 14:10:29

标签: objective-c class runtime

我需要从字符串中获取类对象,包含运行时类的名称。我发现了一个名为objc_getClass的函数,但我不确定它是否真的是我搜索的内容。

我可以这样实现吗? NSString * name = @“AnyClass”; Class * myClass = objc_getClass([name UTF8String]);

3 个答案:

答案 0 :(得分:10)

我相信您正在寻找的功能是:

NSClassFromString(@"AnyClass");

允许你这样做:

id obj = [[NSClassFromString(@"AnyClass") alloc] init];

答案 1 :(得分:3)

我自己找到了答案^^ NSClassFromString是我的朋友:)

答案 2 :(得分:0)

你确定你的意思不是:

AnyClass * myClassInstance = [[AnyClass alloc] init];

或者已经实例化了这个类,你需要一个指针吗?您可能需要提供更多详细信息。