我有一个字符串,它的值是必须实例化的类[MyClass]的名称,而MyClass有一个名为
的方法 -(void)FunctionInClass;
我正在使用名为NSClassFromString的方法来实例化MyClass。我想知道
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 for iPhone app中做的?
答案 0 :(得分:51)
1) what does NSClassFromString return??
它返回一个Class,这意味着你可以[[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];
答案 1 :(得分:0)
NSClassFromString()是一个返回Objective-C类的函数。也就是说,在Objective-C中,类是一个光荣的对象。 “ Class”类的实例...
Objective-C类的优点是什么?
用于实例化对象(通过alloc init) 进行内省和反思-向用户查询该类的方法和属性实例向用户公开 用于存档/取消存档该类的实例,以及... 能够运行类方法(不需要该类任何特定实例的方法。
最后一行实际上创建了一个类的实例,该类的名称是传递给NSClassFromString的字符串。