2010-07-01 27 views
2

我將一個十六進制顏色值作爲字符串接收並將其轉換爲int,以便我可以獲取正確的十六進制值。我有我的進口下面的下面的代碼:'NSString'可能不會響應'-hexIntValue'警告,函數可以正常工作

@implementation NSString (HexIntValue) 

- (unsigned int)hexIntValue 
{ 

    NSScanner *scanner; 
    unsigned int result; 

    scanner = [NSScanner scannerWithString: self]; 
    [scanner scanHexInt: &result]; 

    return result; 

} 

@end 

,然後調用該函數在一個字符串這裏:

unsigned int x = (int)[globalBGColor hexIntValue]; 

一切工作正常,但我真的想擺脫,因爲我的警告或多或少準備提交我的應用程序。

謝謝!

回答

5

我會折騰你的類別在另一個文件。該公約將命名爲「NSSting + HexIntValue.h」。然後確保你#導入它。應該清除一切。

+0

太棒了。謝謝! – 2010-07-01 22:26:24

3

你會得到這個錯誤的唯一原因是,如果你沒有聲明的地方導入頭部。你確定你輸入了正確的標題嗎? NSString + HexIntValue.h或其他。

+0

+1,如果OP包含正確的頭部,他不需要施加返回值。 – 2010-07-01 22:20:28

+0

是的,只有這裏需要強制轉換,因爲它假設id的返回值。你需要確保聲明在範圍內。 – 2010-07-01 22:21:17

0

我以前遇到這個警告,你應該在你的頭文件中聲明這個方法,然後在.m文件中導入頭文件。

.m文件不知道您的方法的存在。

相關問題