单击保存按钮时如何更改存储的JSON数据?迅捷3

时间:2017-08-21 10:12:14

标签: json swift swift3 nsuserdefaults

我登录时将用户JSON数据存储在“user”上。当我点击保存按钮时,如何更改值?例如:crew_preferred_name到“Xiao Pang”。

String INTENT_ACTION_VIDEO_CAMERA

这是JSON输出

UserDefaults.standard.set(json, forKey: "json")
user = UserDefaults().value(forKey: "json")as? NSDictionary

这是按钮代码,我将动作发布到php,但不知道如何更改或保存“用户”数据中的更改。如果没有代码,我必须再次登录才能看到新的更新。

}
crew ={
"crew_avatar" = "http://ec2-52-221-231-3.ap-southeast-1.compute.amazonaws.com/gv/images/profile_image/Pang_Kang_Ming_916210_0e9.jpg";
"crew_contact" = 0123456789;
"crew_email" = "pang@xover.com.my";
"crew_gender" = Male;
"crew_id" = PP000001;
"crew_name" = "Pang Kang Ming";
"crew_preferred_name" = PKM;
"crew_qrcode" = "images/qrcode/qrcode_085960293a5378a64bec6ebfa3c89bb7.png";  }   

message = "Login Sucessfully";
result = success;
}

2 个答案:

答案 0 :(得分:2)

不要在Swift中使用NSDictionary,使用其原生的Swift对象Dictionary

然后,您可以访问和更改与此类已知密钥相关联的值(在将json保存到[String:Any]之前,您需要确保UserDefaults的类型为UserDefaults.standard.set(json, forKey: "json") user = UserDefaults().value(forKey: "json") as! [String:Any] user["crew_name] = "Pang Kang Feng" 这段代码可以工作):

threads

答案 1 :(得分:1)

在获取最新数据后简单地写下这一行

UserDefaults.standard.set(json, forKey: "json")

通过这种方式,您的“json”键将包含最新数据,您可以将其作为

user = UserDefaults().value(forKey: "json")as? NSDictionary