iOS数据持久化注意点
来源:互联网 发布:数据化发展 编辑:程序博客网 时间:2024/05/18 17:02
一、nsuserdefault:
1:nsuserDefault 不能存储自定义对象, 其支持的数据格式有:NSNumber(Integer、Float、Double等)、NSString、NSDate、NSArray(成员必须也是支持的格式类型)、NSDictionary(同NSArray)。
二、归档:
1.归档保存的自定对象的重写归档方法时,需要将基本数据类型转成nsnumber对象。
2.归档需要重写两个方法:
//序列化- (void)encodeWithCoder:(NSCoder *)coder{ [coder encodeObject:@(self.cellType) forKey:CELLTYPE]; [coder encodeObject:self.cellContent forKey:CELLCONTENT]; [coder encodeObject:@(self.cellHeight) forKey:CELLHEIGHT]; [coder encodeObject:self.cellImage forKey:CELLIMAGE]; [coder encodeObject:@(self.isHiddenPlayButton) forKey:ISHIDDENPLAYBUTTON]; [coder encodeObject:self.cellImageUrl forKey:CELLIMAGEURL]; [coder encodeObject:self.cellImageData forKey:CELLIMAGEDATA]; [coder encodeObject:self.cellVideoUrl forKey:CELLVIDEOURL];}//反序列化- (instancetype)initWithCoder:(NSCoder *)coder{ self = [super init]; if (self) { self.cellType = (CellType)[[coder decodeObjectForKey:CELLTYPE] integerValue]; self.cellContent = [coder decodeObjectForKey:CELLCONTENT]; self.cellHeight = [[coder decodeObjectForKey:CELLHEIGHT] floatValue]; self.cellImage = [coder decodeObjectForKey:CELLIMAGE]; self.isHiddenPlayButton = [[coder decodeObjectForKey:ISHIDDENPLAYBUTTON] boolValue]; self.cellImageUrl = [coder decodeObjectForKey:CELLIMAGEURL]; self.cellImageData = [coder decodeObjectForKey:CELLIMAGEDATA]; self.cellVideoUrl = [coder decodeObjectForKey:CELLVIDEOURL]; } return self;}
3.归档只能每次保存一个自定义对象。
0 0
- iOS数据持久化注意点
- IOS 数据持久化
- iOS 数据持久化
- ios数据持久化
- IOS数据持久化
- iOS数据持久化
- ios数据持久化
- iOS数据持久化
- iOS 数据持久化
- iOS 数据持久化
- iOS数据持久化
- iOS数据持久化
- iOS数据持久化
- iOS数据持久化
- iOS 数据持久化
- iOS 数据持久化
- ios数据持久化
- iOS数据持久化
- codeforces456b
- Redis的Python客户端redis-py安装使用说明文档
- hibernate集合映射inverse和cascade详解
- Python PyQt4模块编写的小型GUI程序
- 从"void*"到指向非"void"的指针的转换要求显式类型转换错误
- iOS数据持久化注意点
- oracle无法登陆,报TNS:net service name is incorrectly specified
- 欢迎使用CSDN-markdown编辑器
- MyBatis Generator 详解
- 定义ROI区域
- ELF Linker学习篇(一)关于ELF文件装载进内存
- Jenkins服务器搭建
- maven打可执行jar包及依赖jar包(二)
- 《勇敢的心》有感