【发布时间】:2017-07-04 22:42:31
【问题描述】:
我正在创建一个应用程序,在登录后用户将被带到一个选项卡栏控制器,在其中一个选项卡上我想显示具有来自 mySQL 数据库的数据的用户配置文件。截至目前,我要做的就是使用我的 PHP 进行 POST 获取 JSON 并将其显示给我自己。我想我可能会弄清楚如何从那里向用户显示数据。到目前为止,这是我的 profileViewController.swift 页面。我在 viewDidLoad 函数中有所有内容,因为我希望在单击页面时将所有内容预加载到页面上。我收到一些错误。我的一个错误 让 task = URLSession.shared.dataTask(with:request as URLRequest){ 行,并且该错误表示“从类型为'(,,_) throws -> ()' 的抛出函数到非抛出函数类型'(Data?,URLResponse?,Error?) 的无效转换-> 虚空。”我遇到的下一个错误是在我的“myJson”行中,它说“计算属性必须具有显式类型”
import UIKit
class profileViewController: UIViewController {
@IBOutlet weak var fNameLabel: UILabel!
@IBOutlet weak var lNameLabel: UILabel!
@IBOutlet weak var bDayLabel: UILabel!
@IBOutlet weak var skillsLabel: UILabel!
@IBOutlet weak var bioLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
do {
let request = try NSMutableURLRequest(url: NSURL(string: phpurl)! as URL)
request.httpMethod = "POST"
//Getting the values from the text fields and creating the post parameter
let postString = "email=\(globalVariable.loginEmail)&password=\(globalVariable.loginPassword)"
//Adding the parameters to request body
request.httpBody = postString.data(using: String.Encoding.utf8)
//Creating a task to send the post request
let task = URLSession.shared.dataTask(with: request as URLRequest){
data, response, error in
if error != nil{
print("error is=\(error)")
return;
}
let myJson = try JSONSerialization.jsonObject(with:data) as? [String: String]{
print(myJson)
}
}
task.resume()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
-
你的文本字段出口在哪里??
-
它们只是空的文本字段,我将更改为从我的 json 获得的值
-
"email=(globalVariable.loginEmail)&password=(globalVariable.loginPassword)" 这里的电子邮件和密码是什么?
-
用户登录时输入的内容
-
您确定您在此处收到电子邮件和密码值吗?