使用swift中的NSKeyedUnarchiever从UserDefaults中检索自定义对象数组

时间:2017-11-19 06:06:43

标签: swift

我使用NSCodingUserDefaults中保存了一系列符合NSKeyedArchiver协议的自定义对象。但是当我尝试使用NSKeyedUnarchiver检索它时,我从Xcode获得运行时错误。我尝试使用未归档数据初始化NSArray但它也失败了。我的猜测是,虽然unarchiving swift并不了解这个数组的自定义元素。我该怎么做?

这是我存档自定义对象数组的方式

static func saveCategoryList(_ categoryList : [Category]!) -> Void{
        let userDefaults = UserDefaults.standard
        let categoryListData = NSKeyedArchiver.archivedData(withRootObject: categoryList)
        userDefaults.set(categoryListData, forKey: Constants.CategoryList)
        userDefaults.synchronize()
    }

我在运行时收到的错误就像附加的屏幕截图一样。我很确定我做得不对。怎样才能得到我想要的结果? enter image description here

0 个答案:

没有答案