2017-04-17 10 views
0
  1. 私は私が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") 
    
    
    
    } 
    
  2. を取得し、他のクラスに
  3. を私のモデルの値を渡したいモデル

  4. を持っています

は、だから私は、ユーザーのデフォルトに私のモデル値を設定する方法をお願いしたいと思います

+1

loginResponseを確認してください。あなたのモデルには、任意のキーのnil値が含まれている可能性があります。私は同じ問題を抱えていて、私の鍵の価値が無かったことがわかりました。 –

+0

コードの正確な行により、エラーが発生しますか? – rmaddy

+0

@rmaddy UserDefaults.standard.setValue(loginResponse、forKey: "resultLogin") –

答えて

2

ログインを変換しますデータに応答し、UserDefaultsに保存します。それ以外の場合は、応答をDataに変換してからNSKeyedArchieverを使用することもできます。これを参照してくださいSO Post

0

値またはオブジェクトをユーザのデフォルトに保存するには、その値またはオブジェクトがNSCodingである必要があります。ここでは、デフォルトのAnyObject型の値を設定します。 これを行うには、モデルを作成し、NSCodingを実装します。