NSUserDefaults与设置
来源:互联网 发布:蒙自电视台网络直播 编辑:程序博客网 时间:2024/05/16 10:28
1.我们可以通过NSUserDefaults类来保存一些设置。例如:
- (IBAction)changeMapType:(id)sender{ [[NSUserDefaults standardUserDefaults] setInteger:[sender selectedSegmentIndex] forKey:WhereamiMapTypePrefKey]; switch([sender selectedSegmentIndex]) { case 0: { [worldView setMapType:MKMapTypeStandard]; } break; case 1: { [worldView setMapType:MKMapTypeSatellite]; } break; case 2: { [worldView setMapType:MKMapTypeHybrid]; } break; }}
保存地图中所要显示的selectedSegmentIndex,NSUserDefaults会将数据保存在Library/Preferences目录下,文件名为应用的程序包标识(bundle identifier)加后缀.plist。
同样的,可以使用该类来获取之前保存的内容。
代码如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSInteger mapTypeValue = [[NSUserDefaults standardUserDefaults] integerForKey:WhereamiMapTypePrefKey]; // Update the UI [mapTypeControl setSelectedSegmentIndex:mapTypeValue]; // Update the map [self changeMapType:mapTypeControl]; // Create location manager object locationManager = [[CLLocationManager alloc] init]; [locationManager setDelegate:self]; [locationManager setDistanceFilter:kCLDistanceFilterNone]; [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [worldView setShowsUserLocation:YES]; [self.window makeKeyAndVisible]; return YES;}
2.NSuserDefaults的注册域与应用域
应用中有些临时的默认值存放在NSuserDefaults的注册域中,而用户设置的偏好设置则存放在另一个被叫做应用域的域中。默认情况下,应用域是空的,当用户第一次修改某个设置时,相应的值会通过指定的键加入应用域。当通过NSUserDefaults对象查找某个偏好设置的值时,该对象会先在应用域中查找,如果能找到则返回相应的值,如果没找到,则到注册域中找并返回。
设置注册域的方法:先创建一个NSDictionary对象,其中的键值对就是需要设置的默认偏好设置,然后向NSUserDefaults对象发送registerDefaults:消息,并将NSDictionary作为参数传入。
3.新创建的类在收到任何其他消息前,会先收到initialize消息,所以在注册域中设置偏好设置就在该方法中设置。代码如下:
+ (void)initialize{ NSDictionary *defaults = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1] forKey:WhereamiMapTypePrefKey]; [[NSUserDefaults standardUserDefaults] registerDefaults:defaults];}
0 0
- NSUserDefaults与设置
- 偏好设置 NSUserDefaults
- 偏好设置(NSUserDefaults)
- iOS 偏好设置NSUserDefaults
- 与NSUserDefaults共舞
- NSUserDefaults 与内存
- NSUserDefaults的介绍与使用
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- Humble Numbers-hdu1058
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- linux cp指令
- 使用Json出现的一些问题的解决
- hdu 1282 回文数猜想
- NSUserDefaults与设置
- Xcode5中如何切换Storyboards为xib
- 实习第7天--actionbar提前加载等相关问题
- 分析代码的利器 - ctags
- php中CutyCapt实现网页截图保存代码
- iOS -- OpenSSL进行RSA加密解密概念
- BMP图像的格式
- 反转字符
- 关于对话列表的listview的优化