的功能隐式声明“objc_lookUpClass”
问题描述:
我得到这个警告的代码行:的功能隐式声明“objc_lookUpClass”
Class myClass = objc_lookUpClass([_className UTF8String]);
我加入
#import <Foundation/NSObjCRuntime.h>
#import <objc/objc.h>
它仍然不解决问题
我在这条线上得到的另一个警告是: “初始化使得整型指针没有投射”
答
如果您检查文档,您会看到objc_lookUpClass
returns an id
,而不是Class
。为了抑制警告你要么需要做myClass
的id
,或返回的值转换为Class
:
Class myClass = (Class)objc_lookUpClass([_className UTF8String]);
BTW,有NSClassFromString,如果你有一个NSString。
Class myClass = NSClassFromString(_className);
答
,你只需要导入这个头
#进口\ < \ objc/runtime.h>
的“初始化将指针从整数,未作类型转换”可能是因为它不能找到'objc_lookUpClass'的函数声明,所以它假定函数声明为'extern int objc_lookUpClass(...);' – dreamlax 2010-06-01 11:57:02