0
得到統計後一旦用戶點擊登錄按鈕,我會打電話給FUNC LoginClicked和API獲取狀態:IOS斯威夫特 - 去到另一個視圖從NURLSESSION
func LoginClicked(sender: AnyObject)
{
data_request{
(response) ->() in
let arrResponse = response.componentsSeparatedByString("|")
if (arrResponse[2] == "1"){
self.performSegueWithIdentifier("Login", sender: self)
}
else {
let alert = UIAlertController(title: "Login Failed", message: "Invalid Login!", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
}
}
func data_request(completion : (response:NSString) ->()){
let txtUI : String = txtUsername!.text!
let txtPWD : String = txtPassword!.text!
let url = NSURL(string: "http://myweb.net/?UI=\(txtUI)&PW=\(txtPWD)")!
let request = NSURLRequest(URL: url)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let task = session.dataTaskWithRequest(request, completionHandler: {
(
let data, let response, let error) in
guard let _:NSData = data, let _:NSURLResponse = response where error == nil else {
print("error")
return
}
let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding)
completion(response : dataString!)
})
task.resume()
}
如果成功,它會轉到另一種觀點。否則,顯示失敗的警報。當致電時,它將會彈出錯誤BAD_EXECUTION_INSTRUCTION。兩種情況。
我真的不知道你的代碼有什麼問題,也許嘗試調用'dispatch_get_main_queue()'中的那些? – Tj3n
@ Tj3n你拯救我的一天! –