我得到這個警告的代碼行:的功能隱式聲明「objc_lookUpClass」
Class myClass = objc_lookUpClass([_className UTF8String]);
我加入
#import <Foundation/NSObjCRuntime.h>
#import <objc/objc.h>
它仍然不解決問題
我在這條線上得到的另一個警告是: 「初始化使得整型指針沒有投射」
我得到這個警告的代碼行:的功能隱式聲明「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