下圖是在手機(jī)設(shè)置里點(diǎn)擊釘釘APP后的頁面:
以上,大家肯定再熟悉不過了,那么它是如何實(shí)現(xiàn)的呢?沒錯(cuò),就是今天的主角:Settings.Bundle 。
Settings.Bundle
Settings.Bundle支持六種配置項(xiàng)分別是:Title,MultiValue,Group,Slider,ToggleSwitch,TextField 。
Title
Type:配置類型,默認(rèn)是Title
Title:配置項(xiàng)顯示的Title
Identifier: 配置項(xiàng)的標(biāo)識(shí)符,用來獲取配置項(xiàng)的配置內(nèi)容
Default Value :配置項(xiàng)默認(rèn)值
MultiValue
Type:配置類型,默認(rèn)Multi Value
Title:配置項(xiàng)顯示的標(biāo)題
Identifier:配置項(xiàng)標(biāo)識(shí)符,用來獲取配置項(xiàng)的配置內(nèi)容
Default:配置項(xiàng)默認(rèn)值
Titles:顯示的標(biāo)題數(shù)組
Values:顯示的值數(shù)組,與Titles一一對(duì)應(yīng)
Group
Type,Title 同上;
TextField
Text Field Is Secure:是否密文顯示
KeyBoard Type:鍵盤類型
Autocapitalization Stylele:自動(dòng)大寫
Autocorrection Style:自動(dòng)糾正拼寫
ToggleSwitch
Slider
Minimum Value:最小值
Maximun Value:最大值
Min Value Image Filename:最小值端圖片
Max Value Image Filename:最大值端圖片
如何設(shè)置
1.New File ->Settings.Bundle
在右側(cè)的目錄會(huì)看到:
在Root.plist里面添加上面說的配置項(xiàng)目:
配置好后,運(yùn)行項(xiàng)目,然后在設(shè)置中點(diǎn)擊app,效果如下:
程序中獲取配置信息
獲取配置信息其實(shí)很簡單,直接上代碼:
//獲取SettingsBundle信息
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@",[userDefaults objectForKey:@"title_perference"]);
NSLog(@"%@",[userDefaults objectForKey:@"sex_perference"]);
NSLog(@"%@",[userDefaults objectForKey:@"name_preference"]);
NSLog(@"%@",[userDefaults objectForKey:@"enabled_preference"]);
NSLog(@"%@",[userDefaults objectForKey:@"slider_preference"]);
這里有一點(diǎn)需要說明:
如果運(yùn)行應(yīng)用后直接直接通過上面的代碼獲取信息,你會(huì)得到null;原因是:
root.plist實(shí)際上只是一個(gè)靜態(tài)文件用來在設(shè)置里顯示;只有當(dāng)你對(duì)它進(jìn)行修改,它才會(huì)往NSUserDefaults里添加。修改配置后,NSUserDefaults的優(yōu)先級(jí)高于root.plist文件。
最后
在企業(yè)級(jí)應(yīng)用中,后臺(tái)訪問地址需要用戶自行配置的時(shí)候,SettingsBundle確實(shí)很好用。