目前應(yīng)用市場使用 settings.bundle 的項目相較于少數(shù),但是在開發(fā)過程中可以起到一定的作用,比如打包一次,由用戶自行決定切換環(huán)境等 以及關(guān)于后臺登錄時長等設(shè)置均可以在此進行配置化處理,話不多說,上菜~
相信聰明的你已經(jīng)邁出第一步了,項目結(jié)構(gòu)中通常不包含settings.bundle配置包,所以首先新建一個

新建后可以看到里面包含的目錄結(jié)構(gòu),看到en.lproj相信你大概猜到了這個是處理國際化業(yè)務(wù)的地方,我們先進行配置管理,國際化后期再進行梳理,那么我們配置的主要文件就依靠Root.plist了

先點擊 Root.plist 打開該文件,然后再點擊Preference Items條目的加號,可以看到里面可以添加的類型:Group、Multi Value、Slider、Text Field、Title、Toggle Switch
選擇你需要的選項進行添加以下分別為不同的類型所創(chuàng)建的內(nèi)容






到這里,已經(jīng)可以創(chuàng)建不同類型的preference了,那么里面有一個非常重要的?Identifier?標(biāo)志符,你是否有注意到呢???? ?這個非常重要哈,設(shè)置里處理后的數(shù)據(jù)我們需要在代碼中進行獲取進行對應(yīng)的處理,就需要用到我們再添加preference item時所創(chuàng)建的對應(yīng)的?Identifier 標(biāo)識符。Root.plist中的Identifier就是使用NSUserDefaults保存數(shù)據(jù)時的key值,在代碼中使用時,需要保持和此處填寫的一致。但是需要特別注意:NSUserDefaults的優(yōu)先級高于Root.plist,下面我們來看一下如何取值
我們上面分別創(chuàng)建了不同的類型,里面對應(yīng)不同的Identifier,我們可以在所需要處理的地方進行對應(yīng)的處理:
NSUserDefaults *standardDef = [NSUserDefaults standardUserDefaults];
// Multi Value 取值如下,其余的參照此方式進行取值即可
NSString *multiValue? = [standardDef objectForKey:@"choose_preference"];
當(dāng)然,也可以進行賦值操作,只需要對應(yīng)上在Root.plist中所填寫的Identifier即可。
如有疑問可以評論或留言,看到了會及時回復(fù)????
加油,你是最pang的 ????
附贈demo,有需要的自行下載