开始学习swift语言 才更加明确baidu 和 google这两款搜索引擎之间差了点什么
先说问题: 一个是存的时候,另一个是取的时候的问题
1.使用archiveRootObject(,toFile:) 报错,调用储存方法报错
@objcMembers class UserModel: NSObject, NSCoding, HandyJSON {
var avatar: String = ""
var username: String = ""
var cover: String = ""
var objectId: String = ""
required override init() { super.init() }
required init?(coder aDecoder: NSCoder) {
super.init()
codeDecoder(coder: aDecoder)
}
func encode(with aCoder: NSCoder) {
codeEncoder(with: aCoder)
}
}
实体类中的内容 需要按照这个格式
归档存储的是自定义model对象:
model对象要遵循NSCoding协议
2.使用unarchiveObject(withFile:*) 报错,取数据方法有问题
后来排查需要在UserModel前使用@objcMembers
@objcMembers 的问题可以看下面这个作者的文章
链接:https://www.jianshu.com/p/1d44a1432cfb
来源:简书
如果哪里有问题希望大家指出来,方便及时更改
网友评论