iOS数据存取和对象序列化
来源:互联网 发布:java用户注册界面代码 编辑:程序博客网 时间:2024/05/17 23:04
原文发布于http://blog.csdn.net/cherry609195946/article/details/20576347
一. 使用NSKeyedArchiver类操作对象的存取
特点:该类可以将对象以键值对的形式存入文件,并通过key从文件中取出,与android中的SharedPreference用法类似,而且它序列化后的数据是加密的
1. 将数据存入文件:
- NSString *rootDir = NSHomeDirectory();
- NSString *path = [rootDir stringByAppendingPathComponent:@"test.txt"];
- NSMutableData *data = [NSMutable data];
- NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingMutableData:data];
- NSArray *array = @[@"one",@"two"];
- [archiver encodeInt:100 forKey:@"age"];//相当于SharedPreference的putInteger(key,value);
- [archiver encodeObject:array forKey:@"names"];//
- [archiver finishEncoding];//此方法调用,则将数据存入data
- [archiver release];
- if([data writeToFile:path atomically:YES]){
- NSLog(@"对象存入文件成功");
- }
2. 将数据从文件中取出
- NSData *data = [NSData dataWithContentOfFile:path];
- NSKeyedArchiver *unarchiver =[[NSKeyedArchiver alloc] initForReadingWithData:data];
- int age = [unarchiver decodeIntForKey:@"age"];//取出值
- NSArray *array = [unarchiver decodeObjectForKey:@"names"];
- [archiver release];
二. 使用NSUserDefaults类操作对象的存取
特点:该类将对象以键值对的形式存入系统固定的plist缓存文件,并通过key从文件中取出,与android中的SharedPreference应用场景一样,用于缓存小型简单的缓存数据
- //1. 存入数据
- NSArray *array = @[@"abc",@"d"];
- NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
- [userDefault setInteger:123 forKey:@"number"];
- [userDefault setObject:array forKey:@"array"];
- [userDefault synchronize];//存入文件
- //2. 取出数据
- NSInteger number = [userDefault integerForKey:@"number"];
- NSArray *array = [userDefault objectForKey:@"array"];
0 0
- iOS数据存取和对象序列化
- iOS数据存取和对象序列化
- 序列化 存取数据
- 黑马程序员----浅谈RandomAccessFile格式化数据问题和多个对象序列化存取的两个方法
- iOS开发 数据存取方法 对象归档
- 对象持久化和数据序列化
- iOS---数据存取
- iOS开发-----数据存取
- iOS开发--数据存取
- iOS数据存取
- iOS之数据存取
- iOS本地数据存取
- ios本地数据存取
- iOS本地数据存取
- IOS本地数据存取
- iOS 数据本地存取
- iOS本地数据存取
- iOS对象序列化 .
- 简单魔方程序
- 京东MYSQL分布式数据库:集群系统技术交流
- c++11 container liber: std::queue std::map std::vector std::unique_ptr
- 使用 @Repository、@Service、@Controller 和 @Component
- html学习教程6之背景-颜色
- iOS数据存取和对象序列化
- Partition List
- koa 路由入门
- mybatis在xml文件中处理大于号小于号的方法
- 服务器架设笔记——打通MySQL和Apache
- POJ3675 Telescope(计算几何)
- less学习笔记
- 体重降下去!薪资涨上来!就是这么拽
- d19-06