大佬教程收集整理的这篇文章主要介绍了ios – 如何存档和取消归档Swift中的自定义对象?或者如何将自定义对象保存到Swift中的NSUserDefaults?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class Player { var name = "" func encodeWithCoder(encoder: NSCoder) { encoder.encodeObject(Name) } func initWithCoder(decoder: NSCoder) -> Player { self.name = decoder.decodeObjectForKey("name") as String return self } init(coder aDecoder: NSCoder!) { self.name = aDecoder.decodeObjectForKey("name") as String } init(name: String) { self.name = name } }
首先我不知道如何正确编写编码器和解码器.所以对于init我写了两个方法.
当我尝试执行这个代码:
func saveUserData() { let player1 = Player(name: "player1") let myEncodedObject = NSKeyedArchiver.archivedDataWithRootObject(player1) NSUserDefaults.standardUserDefaults().setObject(myEncodedObject,forKey: "player") }
应用程式崩溃,我收到这则讯息:
*** NSForWARDing: warning: object 0xebf0000 of class '_TtC6GameOn6Player' does not implement methodSignatureForSELEctor: -- trouble ahead
我做错了什么?
以上是大佬教程为你收集整理的ios – 如何存档和取消归档Swift中的自定义对象?或者如何将自定义对象保存到Swift中的NSUserDefaults?全部内容,希望文章能够帮你解决ios – 如何存档和取消归档Swift中的自定义对象?或者如何将自定义对象保存到Swift中的NSUserDefaults?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。