我收到此错误"Attempt to set a non-property-list object as an NSUserDefaults"



这是我收到的完整错误消息:

作为键Login_DataNSUserDefaults/CFPreferences

2019-04-02

09:44:56.191207+0530 升级[238:4101] *** 由于未捕获的异常"NSInvalidArgumentException"而终止应用程序,原因:"尝试插入非属性列表对象

这是我的代码:

let data = response.result.value as! NSDictionary
print(data)
if data["error-code"] != nil {
    if data.object(forKey: "error-code")as! String == "(200)"
    {
        let arrTimer = ((data.object(forKey: "data") as! NSDictionary).object(forKey: "timers") as! NSArray).mutableCopy() as! NSMutableArray
        UserDefaults.standard.set(arrTimer , forKey: "ArrayTimer")
        UserDefaults.standard.set((data.object(forKey: "data") as! NSDictionary), forKey: "Login_Data")

当我从后端更改用户电子邮件时,我得到了这个。对于新用户,它工作正常。我希望这足以让你了解我正在尝试做什么。

看起来问题是字典具有 NSNull 或 nil 值,并且尝试将其存储在 UserDefaults 中不起作用。库可能应该使用NSKeyedArchiver来解决这个问题。将字典转换为数据,然后将其保存在用户默认值中。

相关内容

最新更新