使用 Alamofire 在 user_id iOS 中保存数据
Posted
技术标签:
【中文标题】使用 Alamofire 在 user_id iOS 中保存数据【英文标题】:Save datas in user_id iOS using Alamofire 【发布时间】:2018-06-26 14:29:31 【问题描述】:如何将所有数据表单存储在特定用户 ID 中?我有一个注册页面,所以每个用户都有不同的 user_id。然后我有表格来填写他们的基本信息,教育等。
例如,假设用户(人)“A”已在注册页面中注册了“ABCD”随机用户 ID,并且用户(另一个人)“B”也已注册,因此生成了“EFGH”用户 ID。
所以他们的数据必须根据他们的注册用户ID存储在特定的用户ID中(A'数据必须存储在“ABCD”中,B的进一步信息必须存储在“EFGH”中。我怎么能这样做呢?阿拉莫火?
我对Alamofire的发帖要求如下,
@IBAction func eduSave(_ sender: UIButton)
let parameters: Parameters=[
"institute_name":univ.text!,
"degree_name":grad.text!,
"start_year":cityP.text!,
"end_year":enYear.text!,
"degree_city":proj.text!,
"degree_country":eduCountry.text!
]
//Sending http post request
Alamofire.request(URL_USER_EDUCATION, method: .post, parameters: parameters).responseJSON
response in
//printing response
print(response)
//getting the json value from the server
if let result = response.result.value
//converting it as NSDictionary
let jsonData = result as! NSDictionary
let retrievedString: String? = KeychainWrapper.standard.string(forKey: "user_id")
let experience = self.storyboard?.instantiateViewController(withIdentifier: "experience") as! ExperienceViewController
self.present(experience, animated: true)
【问题讨论】:
【参考方案1】:我通过 iPhone 开发人员 @Muhammed Azharuddin 找到了答案,方法是为用户默认值创建一个类以将数据存储在 user_id 中
extension UserDefaults
static let isLoggedIn = "com.xyz.AlotTest1isLoggedIn"
static let userId = "com.xyz.AlotTest1userId"
并在@IBAction 之后的参数中调用这个扩展
let parameters: Parameters=[
"institute_name":univ.text!,
"degree_name":grad.text!,
"start_year":cityP.text!,
"end_year":enYear.text!,
"degree_city":proj.text!,
"degree_country":eduCountry.text!,
"user_id" : AuthService.instance.userId ?? ""
]
print(parameters)
//Sending http post request
Alamofire.request(URL_USER_EDUCATION, method: .post, parameters: parameters).responseJSON
response in
//printing response
print(response)
//getting the json value from the server
if let result = response.result.value
let re = UserDefaults.standard.value(forKey: "user_id") as! Array<Parameters>
print(result)
let defaults: UserDefaults = UserDefaults.standard
//This class variable needs to be defined every class where you set or fetch values from NSUserDefaults
let ViewController:UIViewController = UIStoryboard(name: "Bar", bundle: nil).instantiateViewController(withIdentifier: "experience") as UIViewController
self.present(ViewController, animated: false, completion: nil)
【讨论】:
以上是关于使用 Alamofire 在 user_id iOS 中保存数据的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire httpBody 在 swift 5 中显示 500 statusCode