2017-04-17 43 views
0
  1. 我有一个模型
  2. 我想我的模型的值传递给其他类
  3. 我userDefault设置,但得到的错误“线程1信号SIGABRT”集UserDefaultValue斯威夫特3错误

    Alamofire.request("http://mylink.com/login", method: .post, parameters: parameters, encoding: JSONEncoding.default).responseObject { (response: DataResponse<LoginResponse>) 
        in 
        let loginResponse: AnyObject = response.result.value! 
    
    
        UserDefaults.standard.setValue(loginResponse, forKey: "resultLogin") 
    
    
    
    } 
    

所以我想问问怎么我的模型值设置为用户默认

+1

检查您的loginResponse。可能是你的模型包含任何键的零值。我有同样的问题,并发现我的一个关键的价值是零。 –

+0

确切的代码行导致错误? – rmaddy

+0

@rmaddy UserDefaults.standard.setValue(loginResponse,forKey:“resultLogin”) –

回答

2

转换登录回应数据,然后保存至UserDefaults。否则,您也可以在将响应转换为Data后使用NSKeyedArchiever。请参阅此SO Post

0

要将值或对象存储在用户默认值中,该值或对象必须是NSCoding投诉。在这里你设置用户默认的AnyObject类型的值。 要做到这一点,请创建一个模型并实施NSCoding。