【发布时间】:2018-12-21 00:40:13
【问题描述】:
我想保存用户收到的最新通知,以便当他稍后再次打开应用程序时,它不会为空,直到再次加载它们。
为此,我有不使用 NSCODING 的自定义类。
class UserModel {
var email:String?
var profileImageUrl: String?
var username: String?
var id: String?
}
extension UserModel {
static func transformUserInfo(dict: [String:Any], key : String) -> UserModel {
let user = UserModel()
user.email = dict["email"] as? String
user.profileImageUrl = dict["profileImageUrl"] as? String
user.username = dict["username"] as? String
user.profilText = dict["profilText"] as? String
return user
}
}
它们被缩短了,因为信息没有过度杀伤力。
现在我想保存它们并尝试使用用户默认值,但还没有成功。
// self.defaults.setValue(NSKeyedArchiver.archivedData(withRootObject: self.savedUsers), forKey: "savedUsers")
//
// self.defaults.setValue(NSKeyedArchiver.archivedData(withRootObject: self.savedNoti), forKey: "savedNoti")
// self.defaults.synchronize()
我之前从其他线程尝试过,但没有成功。
我保存的用户
var savedUsers = [UserModel]()
提前致谢
【问题讨论】:
-
阅读
Codable。 -
我试过了,没有工作结果
-
用您尝试过的方法更新您的问题,并清楚地解释您遇到的问题。
-
请查看我发布的链接。
Codable与NSCoding或NSKeyedArchiver无关。
标签: arrays swift swift4 nsuserdefaults