Swift 如何在NSObject中保存用户

Swift 如何在NSObject中保存用户,swift,nsuserdefaults,Swift,Nsuserdefaults,我已经创建了一个注册页面,其中有用户名、密码、确认密码、电子邮件id、手机号。这些是详细信息,我是Swift新手,我想在应用程序中使用NSUserDefaultspls帮助我保存注册页面的用户详细信息,以及如何发布请求。保存数据 UserDefaults.standard.set(username, forKey: "username") UserDefaults.standard.synchronize() 获取数据 UserDefaults.standard.value(forKe

我已经创建了一个注册页面,其中有用户名、密码、确认密码、电子邮件id、手机号。这些是详细信息,我是Swift新手,我想在应用程序中使用NSUserDefaultspls帮助我保存注册页面的用户详细信息,以及如何发布请求。

保存数据

 UserDefaults.standard.set(username, forKey: "username")
 UserDefaults.standard.synchronize()
获取数据

  UserDefaults.standard.value(forKey: "username")     
要发布数据,可以使用Alamofire

创建一个pod文件添加

     pod 'Alamofire', '~> 4.0'
在viewcontroller中

 import Alamofire
     extension UIViewController{


      class user {


    var user_name : String
    var user_Email : String
    var user_password : String
    var item_Mobile : String

    init(user_name : String, user_Email : String, user_password : String, item_Mobile : String) {


        self.user_name = user_name
        self.user_Email = user_Email
        self.user_password = user_password

        self.item_Mobile = item_Mobile




    }


}
           var userData = [user]()
创建函数

 funcLogin() {


    let url = "http://example.com"

    let parameters : [String:Any] = ["username": UserDefaults.standard.value(forKey: "username")  as! String,
                                     "password": UserDefaults.standard.value(forKey: "password")  as! String,
                                     "email":UserDefaults.standard.value(forKey: "email")  as! String]


    Alamofire.request(url,method:.post, parameters: parameters).validate(contentType: ["application/json"])
        .responseJSON{ response in


            switch response.result {
            case .success:

                let statusCode = (response.response?.statusCode)!
                print("HTTP code @apiGetUser: \(statusCode)")
                print("yoo")
                print(response.result.value! )



                // ...

            case .failure(let error):
                print(error)
                //   print("yo")
                break
                // ...
            }

    }
你也可以用这个

对uiviewcontroller进行扩展

 import Alamofire
     extension UIViewController{


      class user {


    var user_name : String
    var user_Email : String
    var user_password : String
    var item_Mobile : String

    init(user_name : String, user_Email : String, user_password : String, item_Mobile : String) {


        self.user_name = user_name
        self.user_Email = user_Email
        self.user_password = user_password

        self.item_Mobile = item_Mobile




    }


}
           var userData = [user]()
在视图控制器中

 import Alamofire
     extension UIViewController{


      class user {


    var user_name : String
    var user_Email : String
    var user_password : String
    var item_Mobile : String

    init(user_name : String, user_Email : String, user_password : String, item_Mobile : String) {


        self.user_name = user_name
        self.user_Email = user_Email
        self.user_password = user_password

        self.item_Mobile = item_Mobile




    }


}
           var userData = [user]()
如果要在全球范围内访问

          static  var userData = [user]()
要添加值,请使用

//本地

        userData.append(cartItem(user_name: "Demo1",
                                                    user_Email: "demo@demo.com",
                                                    user_password: "hhhhhhh",
                                                    item_Mobile: "9889878888"))
//用于使用全局

       viewControllername.userData.append(cartItem(user_name: "Demo1",
                                                    user_Email: "demo@demo.com",
                                                    user_password: "hhhhhhh",
                                                    item_Mobile: "9889878888"))
访问数据

           userData[i]. user_name
在UserDefaults中设置数据的步骤-

获取UserDefaults中的数据

后示例


不,要在字符串的情况下获取数据,它是。stringforKey:对于其他对象。objectforKey:但决不。valueforKey:您可以这样做UserDefaults.standard.valueforKey:用户名为!当然可以,但是KVC方法有一个特殊的功能。仅当您明确需要KVC时才使用它们。使用UserDefaults,您不需要。您可以告诉我如何在NSObject类中使用register page的所有详细信息进行保存,以及如何在特定类中使用@subjojitmandalfst您必须首先将TextFied中的所有值保存到UserDefaults上不要忘记添加UserDefaults.standard.synchronize在将值设置为UserDefaults后可以告诉我如何使用all进行保存吗NSObject类中注册页面的详细信息以及如何在特定类@Abhishek JainDo Not,don,don在UserDefaults中存储密码,这就是密钥链的用途。告诉我你做这些是为了什么应用,我会确保我不会使用它们。ok@Abizern的可能副本我会做