iOS 数据持久化之使用NSUserDefaults存储数据
来源:互联网 发布:三维弯管机编程软件 编辑:程序博客网 时间:2024/05/18 02:42
iOS下可以使用NSUserDefaults、sqlite、CoreData几种常用的方式来存储数据,其中NSUserDefaults用来存储类似用户的配置等这些的数据,后两者用户存储大批量和比较复杂的数据。NSUserDefault的使用比较简单:
<span style="font-size:18px;">NSUserDefaults *mySettingData = [NSUserDefaults standardUserDefaults];</span>
创建NSUserDefaults对象之后即可往里面添加数据,它支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型,如果要存放自定义的对象(如自定义的类对象),则必须将其转换成NSData存储:
<span style="font-size:18px;">NSArray *arr = [[NSArray alloc] initWithObjects:@"arr1", @"arr2", nil][mySettingData setObject:arr forKey:@"arrItem"];[mySettingData setObject:@"admin" forKey:@"user_name"];[mySettingData setBOOL:@YES forKey:@"auto_login"];[mySettingData setInteger:1 forKey:@"count"];</span>
往NSUserDefaults添加数据后,它们就变成了全局的变量,App中即可读写NSUserDefault中的数据:
<span style="font-size:18px;">NSUserDefaults *mySettingDataR = [NSUserDefaults standardUserDefaults];NSLog(@"arrItem=%@", [mySettingDataR objectForKey:@"arrItem"]);NSLog(@"user_name=%@", [mySettingDataR objectForKey:@"user_name"]);NSLog(@"count=%d", [mySettingDataR integerForKey:@"count"]);</span>
如果想删除某个数据项,可以使用removeObjectForKey删除数据:
<span style="font-size:18px;">[mySettingData removeObjectForKey:@"arrItem"];</span>
需要注意的是,NSUserDefaults是定时把缓存中的数据写入磁盘的,而不是即时写入,为了防止在写完NSUserDefaults后程序退出导致的数据丢失,可以在写入数据后使用synchronize强制立即将数据写入磁盘:
<span style="font-size:18px;">[mySettingData synchronize];</span>
运行上面的语句后,NSUserDefaults中的数据即被写入到.plist文件中,如果是在模拟器上运行程序,可以在Mac的/Users/YOUR-USERNAME/Library/Application Support/iPhone Simulator/4.1/Applications/YOUR-APP-DIR/Library/Prefereces目录下面找到一个文件名为YOUR-Bundle_Identifier.plist的plist文件,用Xcode打开该文件,可以看到刚才写入的数据。
转载自:http://blog.csdn.net/lxinl/article/details/11770675
0 0
- iOS 数据持久化之使用NSUserDefaults存储数据
- iOS 数据持久化之使用NSUserDefaults存储数据
- iOS 数据持久化之使用NSUserDefaults存储数据
- iOS 数据持久化之使用NSUserDefaults存储数据
- iOS NSUserDefaults数据持久化存储
- iOS 数据持久化之-NSUserDefaults
- iOS数据持久化 NSUserDefaults的使用
- 【IOS-Swift】实战笔记——数据持久化之NSUserDefaults(本地轻量级数据存储)
- 数据持久化之NSUserDefaults
- 数据持久化之NSUserDefaults
- iOS开发之数据持久—NSUserDefaults
- iOS 数据持久化之NSUserDefaults-保存Settings
- iOS 数据持久化(三)NSUserDefaults
- iOS 数据持久化三-NSUserDefaults
- iOS 数据持久化三-NSUserDefaults
- iOS - 数据持久化---- NSUserDefaults & NSKeyedArchiver
- NSUserDefaults 数据持久化
- iOS 数据存储 - NSUserDefaults
- 出现error:unknown filesystem grub rescue解决办法
- 第26章 MYSQL Administrator
- 常用算法总结
- 【二毛分享】爱站SEO教程分享
- MySQL ERROR2013完美解决方案
- iOS 数据持久化之使用NSUserDefaults存储数据
- 4.4 StoneWall
- 【主席树】 BZOJ 2653 middle
- markdown基本语法
- 栈帧
- 为ExpandableListView这个控件自定义箭头
- 第27章 字符集设置
- WP8最大的败笔就是只能用Win8做开发
- View的setOnClickListener的添加方法