如何在 NSObject 中保存用户
How to save user in NSObject
我创建了一个注册页面,其中有用户名、密码、确认密码、电子邮件ID、手机号码。这些是详细信息,我是 Swift
的新手,我想使用 NSUserDefaults
保存应用程序中注册页面的用户详细信息,请帮助我以及如何 post 请求。
保存数据
UserDefaults.standard.set(username, forKey: "username")
UserDefaults.standard.synchronize()
获取数据
UserDefaults.standard.value(forKey: "username")
要post数据可以使用Alamofire
创建 pod 文件添加
pod 'Alamofire', '~> 4.0'
在你的 viewcontroller
import Alamofire
创建函数
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
// ...
}
}
你也可以用这个
对 ui 进行扩展viewcontroller
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
}
}
在ViewController
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.standard.set("your value", forKey: "your key")
UserDefaults.standard.synchronize()
获取 UserDefaults 中的数据
UserDefaults.standard.value(forKey: "your key")
Post 例子
func postAction(_ sender: Any) {
let Url = String(format: "your url")
guard let serviceUrl = URL(string: Url) else { return }
// let loginParams = String(format: LOGIN_PARAMETERS1, "test", "Hi World")
let parameterDictionary = ["username" : "Test", "password" : "123456"]
var request = URLRequest(url: serviceUrl)
request.httpMethod = "POST"
request.setValue("Application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameterDictionary, options: []) else {
return
}
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
}catch {
print(error)
}
}
}.resume()
}
我创建了一个注册页面,其中有用户名、密码、确认密码、电子邮件ID、手机号码。这些是详细信息,我是 Swift
的新手,我想使用 NSUserDefaults
保存应用程序中注册页面的用户详细信息,请帮助我以及如何 post 请求。
保存数据
UserDefaults.standard.set(username, forKey: "username")
UserDefaults.standard.synchronize()
获取数据
UserDefaults.standard.value(forKey: "username")
要post数据可以使用Alamofire
创建 pod 文件添加
pod 'Alamofire', '~> 4.0'
在你的 viewcontroller
import Alamofire
创建函数
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
// ...
}
}
你也可以用这个
对 ui 进行扩展viewcontroller
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
}
}
在ViewController
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.standard.set("your value", forKey: "your key")
UserDefaults.standard.synchronize()
获取 UserDefaults 中的数据
UserDefaults.standard.value(forKey: "your key")
Post 例子
func postAction(_ sender: Any) {
let Url = String(format: "your url")
guard let serviceUrl = URL(string: Url) else { return }
// let loginParams = String(format: LOGIN_PARAMETERS1, "test", "Hi World")
let parameterDictionary = ["username" : "Test", "password" : "123456"]
var request = URLRequest(url: serviceUrl)
request.httpMethod = "POST"
request.setValue("Application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameterDictionary, options: []) else {
return
}
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
}catch {
print(error)
}
}
}.resume()
}