iOS 数据存储(二)NSUserDefaults使用

来源:互联网 发布:使命召唤13优化怎么样 编辑:程序博客网 时间:2024/05/26 02:19

NSUserDefaults主要用于存储设置参数,少量数据。可以存储NSString,NSNumber, NSDate, NSArray, NSDictionary,自定义类可以通过NSData的方式进行存储,当然要实现NSCoding这个协议才行,NSObject<NSCoding>。

NSUserDefaluts的数据存放在Library/Preferences/目录下,文件以工程Bundle identifier为名,文件格式为plist。


数据存储

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];    [defaults setInteger:1 forKey:@"integer"];    [defaults setFloat:1.2 forKey:@"float"];    [defaults setDouble:2.9 forKey:@"double"];    [defaults setBool:YES forKey:@"bool"];    [defaults setURL:[NSURL URLWithString:@"www.baid.com"] forKey:@"url"];    [defaults setObject:@"hello" forKey:@"object"];//为了避免程序异常退出,导致数据未保存成功。    [defaults synchronize];




获取数据

    NSLog(@"integer:%d",[defaults integerForKey:@"integer"]);    NSLog(@"float:%f",[defaults floatForKey:@"float"]);    NSLog(@"double:%f",[defaults doubleForKey:@"double"]);    NSLog(@"bool:%d",[defaults boolForKey:@"bool"]);    NSLog(@"url:%@",[defaults URLForKey:@"url"]);    NSLog(@"object:%@",[defaults valueForKey:@"object"]);
输出:
2016-08-26 17:13:24.629 SettingsTest[313:67560] integer:12016-08-26 17:13:24.630 SettingsTest[313:67560] float:1.2000002016-08-26 17:13:24.630 SettingsTest[313:67560] double:2.9000002016-08-26 17:13:24.630 SettingsTest[313:67560] bool:12016-08-26 17:13:24.631 SettingsTest[313:67560] url:www.baid.com2016-08-26 17:13:24.631 SettingsTest[313:67560] object:hello



0 0
原创粉丝点击