Swift中对象进行归档写入文件时需要对对象属性进行归档 *** 和解归档 *** 作
,对象方法中需重写以下两个方法
//从nsobject解析回来 init(coder aDecoder:NSCoder!){ self.name=aDecoder.decodeObjectForKey("name") as! String self.phone=aDecoder.decodeObjectForKey("age") as! String } //编码成object func encodeWithCoder(aCoder:NSCoder!){ aCoder.encodeObject(name,forKey:"name") aCoder.encodeObject(phone,forKey:"age") }
归档,解归档需要使用到NSKeyedArchiver和NSKeyedUnarchiver来实现。
//保存数据 let data = NSMutableData() let archiver = NSKeyedArchiver(forWritingWithMutableData: data) archiver.encodeObject(userData,forKey: "userList") archiver.finishEnCoding() //数据写入 data.writetofile(datafilePath,atomically: true) //读取数据 //获取本地数据文件地址 let path = self.datafilePath() //读取文件数据 let data = NSData(contentsOffile: path) //解码器 let unarchiver = NSKeyedUnarchiver(forReadingWithData: data!) userList = unarchiver.decodeObjectForKey("userdata") as! Array //结束解码 unarchiver.finishDeCoding()总结
以上是内存溢出为你收集整理的Swift-归档解归档全部内容,希望文章能够帮你解决Swift-归档解归档所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)