2013-10-20 41 views
0

我有一個項目,與我稱之爲「Keys.h」清除未使用的實體警告對於靜態詮釋在Xcode

在該文件中,我宣佈,跨項目中使用字符串和整數,一些文件它們是整數,其中一些是字符串。

所有的字符串工作正常;然而,如果我使用整數,我會得到一個未使用的變量警告。

對於字符串,(lfPrefs是用戶偏好的字典)

static NSString * kUserLFPrefs = @"lfPrefs"; 

這工作得很好,且不會產生任何錯誤。

對於一個整數,(我有整數來定義當前模式,因爲它看起來比比較字符串有點快)。

static int kModeLiveFeed = 1001; 
static int kModeEventFeed = 2002; 

這些工作很好,除了它們顯示一個未使用的實體警告。

我寧願使用過字符串整數,主要是因爲我讀的比較是速度更快,佔用內存少,等

我的問題是如何才能停止警報同時還獲得訪問我的整數鍵?

(或者,我應該只是使用字符串)

回答

1

我可以建議兩種不同的方法。

如果你想在.h文件中保存這些變量,你可能更喜歡使用define,如果你不會改變運行時的值,

#define kModeLiveFeed 1001 

如果你要改變的變量值運行時間,我建議他們留在一個.m文件,而不是在.h文件中,通過使用單隻創建一個.m文件的實例。然後,即使您繼續從.m文件獲得警告,您也可以通過以下步驟禁用它:

  • 從左側導航器中選擇您的項目以打開項目設置視圖。
  • 然後,選擇您的目標。
  • 轉到構建階段選項卡並打開編譯資源區域。
  • 點擊您的.m文件的右側增加一個編譯器標誌作爲-w

我希望它能幫助。

1

您可能會誤解C/Objective-C中的static的含義(this question應該有所幫助)。您應該使用const而不是static來定義常量,並且應該在.m文件中定義整數/字符串常量的值,並在.h文件中對應聲明。或者更好的是,如果您有一組相關的整數常量,則使用enum

Here是Apple有關常量的文檔,其中包括上述信息以及命名建議(例如,,PRConstant優於經典的Mac OS樣式kConstant)。

+0

看來我對GROSSLY的誤解,我會再次嘗試使用const。 – Logan

相關問題