【发布时间】:2017-01-19 11:01:27
【问题描述】:
我有这些 JSON 数据:
{"login":"ET001","email":"email@try.com"}
在 Swift 3.0 中,我创建了两个文件,分别是 LoginVC 和 ViewController。
只有在 LoginVC 验证凭据后才能访问 ViewController。到目前为止,我设法使登录访问基于数据库中的“成功”JSON 数据的 ViewController 页面。
但我的下一个目标是将 JSON 数据“[login]”从 LoginVC 传递到 ViewController。
在 ViewController 中,我创建了 UILabel "loginLbl" 来显示来自 LoginVC 的 JSON 值。
如何更新我的代码?
LoginVC.swift
import UIKit
class LoginVC: UIViewController {
@IBOutlet var _login: UITextField!
@IBOutlet var _pass: UITextField!
@IBOutlet var outputLbl: UILabel!
var login: String!
var pass: String!
override func viewDidLoad() {super.viewDidLoad()}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "tocey"{
if let destination = segue.destination as? ViewController {
destination.passedData = self.outputLbl.text
print("Sender value is : \(sender)")
}
}
}
@IBAction func loginData(_ sender: Any) {
login = _login.text
pass = _pass.text
if(login == "" || pass == "") {
return
}
else {
let url = URL(string: "http://localhost/login.php")
let session = URLSession.shared
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"
let paramToLogin = "login=\(login!)&pass=\(pass!)"
request.httpBody = paramToLogin.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest, completionHandler: {
(data, response, error) in
if error != nil {
return
}
else {
do {
if let json = try JSONSerialization.jsonObject(with: data!) as? [String: String] {
DispatchQueue.main.async {
let success = Int(json["success"]!)
let loginvaluefromdb = json["login"]
if(success == 1){
self.outputLbl.text = loginvaluefromdb;
let abc = json["login"]
self.performSegue(withIdentifier: "tocey", sender: abc)
return
}
}
}
}
catch {
}
}
})
task.resume()
}
}
}
ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet var loginLbl: UILabel!
var passedData: String!
override func viewDidLoad() {
super.viewDidLoad()
loginLbl.text = passedData
}
}
如何将其传递给UILabel loginLbl?
【问题讨论】:
-
是的,我知道这个问题可能是重复的。但我仍然对如何传递数据感到困惑。 .
-
@AlotJai 您的代码中没有导航代码。
-
你的意思是从 LoginVC 导航到 ViewController ?
-
@AlotJai 是的,我正在考虑导航。
标签: ios json swift3 uilabel xcode8