2010-06-01 75 views
1

我得到这个警告的代码行:的功能隐式声明“objc_lookUpClass”

Class myClass = objc_lookUpClass([_className UTF8String]); 

我加入

#import <Foundation/NSObjCRuntime.h> 
#import <objc/objc.h> 

它仍然不解决问题

我在这条线上得到的另一个警告是: “初始化使得整型指针没有投射”

+0

的“初始化将指针从整数,未作类型转换”可能是因为它不能找到'objc_lookUpClass'的函数声明,所以它假定函数声明为'extern int objc_lookUpClass(...);' – dreamlax 2010-06-01 11:57:02

回答

3

如果您检查文档,您会看到objc_lookUpClass returns an id,而不是Class。为了抑制警告你要么需要做myClassid,或返回的值转换为Class

Class myClass = (Class)objc_lookUpClass([_className UTF8String]); 

BTW,有NSClassFromString,如果你有一个NSString。

Class myClass = NSClassFromString(_className); 
0

,你只需要导入这个头

#进口\ < \ objc/runtime.h>