2010-06-01 58 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>