Settings.Bundle操作
来源:互联网 发布:软件实施实习心得体会 编辑:程序博客网 时间:2024/05/01 21:55
#define kProtocol @"protocol"
#define kSlider @"slider"
#define kUserName @"userName"
#define kVersion @"version"
#define kSwitch @"switch"
//用來取得Settings.Bundle各物件的預設值
-(NSDictionary*)settingsBundleDefaultValues
{
NSMutableDictionary *defaultDic_ = [[NSMutableDictionaryalloc]init];
NSURL *settingsUrl =
[NSURLfileURLWithPath:[[NSBundlemainBundle]
pathForResource:@"Root"
ofType:@"plist"
inDirectory:@"Settings.bundle"]isDirectory:YES];
NSDictionary *settingBundle = [NSDictionarydictionaryWithContentsOfURL:settingsUrl];
NSArray *preference_ = [settingBundleobjectForKey:@"PreferenceSpecifiers"];
for (NSDictionary *component_in preference_) {
NSString *key = [component_objectForKey:@"Key"];
NSString *defaultValue = [component_objectForKey:@"DefaultValue"];
if (!key||!defaultValue)continue;
if (![component_objectForKey:key]) {
[defaultDic_ setObject:[component_objectForKey:@"DefaultValue"]forKey:key];
}
}
return defaultDic_;
}
//讀取
- (IBAction)buttonLoad:(id)sender {
/*
[protocol setTitle:@"SMTP" forSegmentAtIndex:0];
[protocol setTitle:@"HTTP" forSegmentAtIndex:1];
[protocol setTitle:@"IMAP" forSegmentAtIndex:2];
[protocol setTitle:@"POP3" forSegmentAtIndex:3];
*/
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
/*
在執行App之前必須進到"設定"去,去設定App的值
連settings.bundle內對各物件進行設定預設值也沒有辦法一開始就直接被讀取
所以要對NSUserDefault的Key註冊預設值,值的來源是Settings.Bundle的DefaultValue
*/
[userDefaultregisterDefaults:[selfsettingsBundleDefaultValues]];
NSArray *arrProtocol = [NSArrayarrayWithObjects:@"SMTP",@"HTTP",@"IMAP",@"POP3",nil];
[protocolsetSelectedSegmentIndex:[arrProtocol indexOfObject:[userDefaultstringForKey:kProtocol]]];
txtVersion.text = [userDefaultstringForKey:kVersion];
[mySwitchsetOn:[userDefault boolForKey:kSwitch] animated:YES];
[slidersetValue: [userDefault floatForKey:kSlider]];
}
//儲存
- (IBAction)buttonSave:(id)sender {
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
NSArray *arrProtocol = [NSArrayarrayWithObjects:@"SMTP",@"HTTP",@"IMAP",@"POP3",nil];
[userDefault setObject:[arrProtocolobjectAtIndex:protocol.selectedSegmentIndex]forKey:kProtocol];
[userDefault setObject:txtVersion.textforKey:kVersion];
[userDefault setBool:mySwitch.onforKey:kSwitch];
[userDefault setFloat:slider.valueforKey:kSlider];
}
- Settings.Bundle操作
- ios Settings Bundle简介
- 用户默认设置 Settings Bundle
- 如何使用Settings.bundle
- iOS之Settings.Bundle
- iOS之Settings.Bundle
- 为App设置Settings.bundle
- Settings Bundle -- iPhone应用设置简单分析
- 关于settings.bundle的详细讲解
- Settings Bundle中几个type的含义
- ios-(Settings Bundle)程序偏好设置
- iOS 整合Settings.bundle显示版本信息
- IOS 数据存储(preference和settings bundle)
- iOS开发中Settings.bundle的使用
- iOS开发中Settings.bundle的使用
- Settings Bundle 中的 DefaultValue 和 Root.plist
- iPhone SDK: Saving User Preferences With Settings Bundle
- iphone和ipad设置束的运用!(Settings.bundle)
- EBS xml publisher中文乱码
- jquery选择器的简单应用
- sql语句 时间段 内 重复 语句
- OpenCV编程——IplImage类型
- Calendar加上2天
- Settings.Bundle操作
- CLR(公共语言运行时)
- BASE64 加密算法、原理 各种语言实现算法
- 图的基本操作(基于邻接矩阵):图的构造,深搜(DFS),广搜(BFS)
- linux中修改当前时间的方法(写入BIOS,重启有效)
- 通过手机摄像头实现动作追踪一----单帧的识别
- 将BIRT整合到自己的Java项目中
- Android 情景模式
- liunx环境下安装mysql For Python有感