ios中的資源種類包括:nib檔案,字串資源,影象(images),聲音(sounds),視屏(movies),屬性列表(plist).
ios支援裝置特有的資源,資源被命名為如下的格式:
這裡,basename指資源的原始名字,也是我們在**中引用的名字。
filename_extension是資源檔案的副檔名。是如下兩者之一:~iphone,~ipad。
對於以上的記憶體,舉例說明,**如下:
uiimage * animage = [uiimage imagenamed:@"myimage.png"];
在iphone/ipod上,如果myimage~iphone.png存在,則載入;否則去載入myimage.png.
在ipad上,如果myimage~ipad.png存在,則載入;否則去載入myimage.png.
這個機制就方便了我們去寫universal型別的應用程式,使得我們不必在**中根據裝置型別,載入不同名字的資源檔案。
搜尋資源時,按如下優先順序順序:
1、global(nonlocalized) resources
2、region-specific resources(based on the user's region preferences) 這個只在mac os x上有效
3、language-specific resources(based on the user's language preferences)
4、development language of the bundle(as specified by the cfbundledevelopmentregion in the bundle's info.plist file)
由於全域性資源的優先順序高於特定語言的資源,乙個資源的全域性資源和本地化的版本不能同時存在,否則本地化的版本將永遠沒有機會載入。
nib檔案
和nib檔案想連線的action method,不必在標頭檔案中宣告,可以在.m檔案中宣告為私有的,這是因為xcode解析的是.m檔案。
字串資源
字串資源檔案,一般是通過在**中使用巨集,然後再使用命令列工具genstrings來產生的。
這些巨集是:
nslocalizedstring(key,comment)
nslocalizedstringfromtable(key,tablename,comment)
nslocalizedstringfromtableinbundle(key,tablename,bundle,value,comment)
nslocalizedstringwithdefaultvalue(key,tablename,bundle,value,comment)
其背後實質上都是呼叫的nsbundle的localizedstringforkey:value:table:這個方法。
使用這些巨集時,會用到一些額外的引數,這些引數是被genstrings工具來使用的,其說明如下:
key:該字串用來查詢相應的值,這個串中一定不能包含擴充套件的ascii字符集中的字元。
tablename:key所在的字串檔案的名字。如果沒有提供該引數,則預設為localizable.strings。如果提供,則不要加末尾的".strings"。
comment:注釋性的文字。有了這些資訊,翻譯人員就會明白氣用途。getstrings把這些資訊寫入生成的檔案中,格式為c風格的注釋。
關於如何在字串中格式化,或是插入特殊字元,請
resource programming guide中的string resources部分。
要支援視網膜顯示屏的話,將高畫質的名字後面加@2x,並將這些放在同一位置。
屬性列表
objectforinfodictionarykey:
infodictionary
iOS架構概述
對於學習ios的童鞋來說 了解框架的大致內容是很有必要的.首先說ios和macosx比如下 cocoa cocoa touch media media core services core services core os core os mac os x ios 從上面這個比較中可以看出,ios的...
iOS 學習資源
novel design 最簡單 品趣ios客戶端 myone ios 相對較簡單 用oc寫的 乙個 ios 客戶端 wnxhuntforcity 功能相對較多的 高仿城覓2.0 by objective c smallday 內容相對較少,但也很豐富 用swift 實現的高仿小日子 sxnews ...
IOS學習筆記 概述
每天花30分鐘看蘋果的官方文件。arc只對可保留的物件指標 rops 有效。可保留的物件指標主要有以下三種 1 塊指標 2 objective c物件指標 3 通過 attribute nsobject 型別定義的指標。橋接轉換 bridge cast 的三種型別 1 bridge型別 操作符 這種...