2010-02-09 27 views
23

我有一个字符串谁的值是名称的类[MyClass的]它有被实例化,并且MyClass的有一个名为如何从Objective-C中的字符串实例化类的对象?

-(void)FunctionInClass; 

我使用所谓NSClassFromString的方法来实例化MyClass.I方法想知道

1) what does NSClassFromString return?? 
2) what is id? 
3) How to call method -(void)FunctioninClass which is in MyClass using the instance. 

我应该如何继续,我在Objective-C为iPhone应用程序做它?

回答

51

1) what does NSClassFromString return??

它返回一个类,这意味着你可以做[[NSClassFromString(@"MyClass") alloc] init]; 看到Mac Dev Center Docs获取更多信息。

2) what is id?

http://www.otierney.net/objective-c.html#idtype

3) How to call method -(void)FunctioninClass which is in MyClass using the instance.

id myclass = [[NSClassFromString(@"MyClass") alloc] init]; 
[myclass FunctioninClass]; 
+0

AFAICT,NSClassFromString是一个函数,不是类。点1会变成NSClassFromString(@“MyClass”) – 2010-02-09 03:59:02

+0

好点。我正在记忆中。仍然一般的想法是... – echo 2010-02-09 04:00:45

+0

@ point 1)如果NSClassFromString返回一个类,那么该类必须被实例化,那么我们可以调用FunctioninClass方法吗?但@点3)我们直接使用名为myclass的类并调用函数。我试过3)它给了我一个错误:MyClass未声明(首次在函数中使用)和myclass undeclare(在函数中首次使用) – suse 2010-02-09 04:03:40

相关问题