使用方法
- 新建工程創(chuàng)建Settings.bundle,如下圖所示:
屏幕快照 2016-09-22 下午6.04.29.png
- 查看Settings.bundle 的內(nèi)容如下:
屏幕快照 2016-09-22 下午9.02.34.png
- Root.plist 的內(nèi)容如下(可以通過文本編輯器打開孵淘,查看里面的完整內(nèi)容,主要可以找key 方便對設(shè)置的內(nèi)容做修改):
屏幕快照 2016-09-22 下午9.04.27.png
- 對應(yīng)手機(jī)的樣式如下圖:
Simulator Screen Shot 2016年9月26日 下午3.42.03.png
- 代碼獲取Root.plist的內(nèi)容:
- (void)settingBundle{
NSString *settingsBundle = [[NSBundle mainBundle]
pathForResource:@"Settings" ofType:@"bundle"];
if(!settingsBundle) {
NSLog(@"Could not find Settings.bundle");
return;
}
NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]];
NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"]; NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]];
for(NSDictionary *prefSpecification in preferences) {
NSString *key = [prefSpecification objectForKey:@"Key"];
if(key) {
[defaultsToRegister setObject:[prefSpecification objectForKey:@"DefaultValue"] forKey:key];
}
}
//registerDefaults方法調(diào)用時(shí)會check NSUserDefaults里是否已經(jīng)存在了相同的key朋其,如果有則不會把其覆蓋 需要重點(diǎn)看一下
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
}
- 代碼修改Settings.bundle 的設(shè)置
[[NSUserDefaults standardUserDefaults]setObject:@"小王" forKey:@"name_preference"];