2012-07-17 46 views
4

如果我想聲明一個可用於多個.m文件的常量字符串(不一定是基於語言的變化),我應該在InfoPlist.strings中執行該操作,還是應該創建一個單獨的global.h文件並使用#defineInfoPlist.strings vs global.h常量

我所做的研究讓我感覺global.h是要走的路,但我想確認一下。

回答

4

這取決於你需要什麼類型的常量。對於一個簡單的字符串常量,使用.strings文件有一個優點,它不需要重新編譯二進制文件,以便讓應用程序中的值可用,另一方面,使黑客更容易修改。

如果要存儲數字,使用.h來存儲常量會更好,因爲從字符串中解析整數不是一項小任務。

大多數時候,我會說.h更好,但要小心使用一個!你不能在.h(通常你不需要使用)中得到一個常量的地址,並且將一個字符串與==進行比較,而一個常數是一個否定的。

+0

謝謝。我什麼時候可以使用InfoPlist.strings文件?它只是針對將根據應用程序語言而改變的字符串嗎? – 2012-07-17 14:50:29

+0

@JMax如果你要爲一個常量使用一個字符串文件,絕對把它們放到另一個字符串文件中,而不是'InfoPlist.strings',可能叫它'Constants.strings'。然後,你會在應用程序中使用'NSLocalizedStringFromTable'讀取這些字符串。 – 2012-07-17 14:55:12

+1

好的。您什麼時候使用InfoPlist.strings? – 2012-07-17 14:58:17