我使用的是Xcode 4.6,我有一個頭文件,其中包含了我在代碼中使用的一些常量。我不想使用預處理器指令,因爲我希望它們能夠正確鍵入等。如何使用帶有「未使用變量」警告的類型常量?
例如,我有這樣的代碼在我的.h文件之一:
static NSString *kErrorCannotDivideByZero = @"Error: Cannot divide by zero";
我用它在相應.m文件:
[self showToast:kErrorCannotDivideByZero];
我得到警告:
/path/to/my/headerFile.h:32:18: Unused variable 'kErrorCannotDivideByZero'
我知道這只是一個警告,但我已經有大約50個這些警告堵塞了我的編譯器輸出。
爲什麼我得到這個警告,我該如何正確解決它?
我對簡單地抑制所有未使用的變量警告並不感興趣,因爲我確實希望得到合法的警告。
你確定標題中有靜NSString的文件,而不是在.m文件(並具有隻是一個外部的靜態的NSString在標題中)是不是你的問題的原因?我懷疑生成了一個不同的靜態實例,每次將它包含到.m文件中。 – 2013-02-19 00:16:43
我想要一些可重複使用的字符串,我可以在整個應用程序中使用。你會建議什麼? – 2013-02-19 00:19:03
正如Josh所說,「extern NSString * foo;」然後在.m中聲明真正的非靜態實例ONCE。或者只是#define FOO @「StringLiteral」 – 2013-02-19 00:19:56