我使用NSCoding
在UserDefaults
中保存了一系列符合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()
}