共享偏好 Swift 4- iOS- 唯一 Alamofire 用户 ID
Posted
技术标签:
【中文标题】共享偏好 Swift 4- iOS- 唯一 Alamofire 用户 ID【英文标题】:Shared Preference Swift 4- iOS- Unique Alamofire user id 【发布时间】:2018-05-21 06:12:14 【问题描述】:在我的分类项目中,有一个用户注册页面和 php 生成的用户 ID,因此在该特定用户 ID 中,特定用户的所有其他数据都需要保存。我会分享我的 swift 注册代码和 swift 数据表单以保存在该特定用户 ID 中。但是注册用户ID已成功保存,但以数据形式输入的数据未保存在唯一用户ID中。请帮我解决这个问题...
注册页面快捷
let parameters: Parameters=[
"user_name":nameTextField.text!,
"user_email":emailTextField.text!,
"user_mobile":mobileNumb.text!,
"password":passwordTextField.text!
]
//Sending http post request
Alamofire.request("https://alot.ae/api/user_reg.php", 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 defaults: UserDefaults = UserDefaults.standard
//This class variable needs to be defined every class where you set or fetch values from NSUserDefaults
defaults.setValue("password", forKey: "user_id")
defaults.synchronize()
//Call this when you're done editing the defaults. It saves you
我的其他表单的快速代码必须以该特定用户 ID 保存数据
//creating parameters for the post request
let parameters: Parameters=[
"full_name":profN.text!,
"position":position.text!,
"email":emailCompa.text!,
"phone_number":numComP.text!
]
//Sending http post request
Alamofire.request(URL_USER_EMPLOYER_PROFILE, 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 defaults = UserDefaults.standard
defaults.set("URL_USER_EMPLOYER_PROFILE", forKey: "user")
【问题讨论】:
你的要求能更具体吗? 我创建了随机用户 ID 用于注册。例如,用户的电子邮件:abc@...com 和密码:xxxx 已注册。所以我得到确认 used id : ABCD 已经创建。因此,无论何时登录并填写教育详细信息或任何数据等表格,该同一用户都必须保存在同一用户 ID 中:ABCD。同样地。我怎样才能做到这一点?请让我知道(意味着一个用户在同一用户 ID 中存储的共享偏好数据) @AzeTech 当用户更换设备时,您将如何处理? @ TheTiger ,用户更换设备没关系我的意思是假设如果我是新用户,我将注册,所以会有用户 ID。因此,每当我添加我的详细信息或上传任何必须保存在该特定用户 ID 中的文件时。假设其他人正在注册该用户也将拥有单独的用户 ID。然后所有详细信息都必须输入该特定用户 ID。 【参考方案1】:我通过 iPhone 开发人员 @Muhammed Azharuddin 找到了答案,方法是为用户默认值创建一个类以将数据存储在 user_id 中
extension UserDefaults
static let isLoggedIn = "com.xyz.AlotTest1isLoggedIn"
static let userId = "com.xyz.AlotTest1userId"
并在@IBAction 之后的参数中调用这个扩展
//creating parameters for the post request
let parameters: Parameters=[
"full_name":profN.text!,
"position":position.text!,
"email":emailCompa.text!,
"phone_number":numComP.text!,
"user_id" : AuthService.instance.userId ?? ""
]
// Sending http post request
Alamofire.request(URL_USER_EMPLOYER_PROFILE, method: .post, parameters: parameters).responseJSON
response in
// printing response
print(response)
// getting the json value from the server
if let result = response.result.value
UserDefaults.standard.value(forKey: "user_id")
// converting it as NSDictionary
let jsonData = result as! NSDictionary
let defaults: UserDefaults = UserDefaults.standard
//This class variable needs to be defined every class where you set or fetch values from NSUserDefaults
let employer = self.storyboard?.instantiateViewController(withIdentifier: "employer") as! EmployerViewController
self.present(employer, animated: true)
【讨论】:
以上是关于共享偏好 Swift 4- iOS- 唯一 Alamofire 用户 ID的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3D Touch iOS 10 主屏幕快速操作分享项目丢失
javascript NodeJS模块,用于通过www.jsonstore.io(ala firebase)存储(公共)JSON