首页 > 解决方案 > 将数据保存在特定用户 ID iOS - Alamofire, Json

问题描述

我有一个工作应用程序,当用户通过注册页面注册时,它会自动user_id为每个用户生成一个唯一的。这个应用程序还支持每个用户的多个不同数据(例如教育细节、经验等),因此这些数据必须与相应用户的用户 ID 相关联。

例如,假设用户 A 在user_idABCD 注册了一个新帐户。当这个用户向系统添加新信息时,数据必须链接回这个user_id,ABCD。同样,如果用户 B 在 EFGH 注册了一个新帐户,则用户 Buser_id添加到系统的任何新数据都必须链接回他/她user_id的 EFGH。

我怎么能在 iOS 中使用 Swift 做到这一点?

Alamofire.request(URL_USER_COMPANY_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
        UserDefaults.standard.value(forKey: "user_id")
    }
}

标签: iosswiftalamofirexcode9.3

解决方案


我找到了 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



        }

推荐阅读