Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-使用POST-to-PHP登录_Php_Swift_Post_Login - Fatal编程技术网

Swift-使用POST-to-PHP登录

Swift-使用POST-to-PHP登录,php,swift,post,login,Php,Swift,Post,Login,我正在试图弄明白为什么这段代码需要这么长时间才能登录。它现在可以工作了,但速度真的很慢。我的控制台显示它正在立即接收成功响应,但它仍有一段时间没有转到下一个视图控制器。我还发现,在添加代码以关闭加载指示器后,它也会立即关闭。所以现在,如果我提供了正确的凭证,它将关闭加载指示器,但在转到下一个视图控制器之前仍将等待15秒。想法 let request = NSMutableURLRequest(URL: NSURL(string: "myurl")!) reques

我正在试图弄明白为什么这段代码需要这么长时间才能登录。它现在可以工作了,但速度真的很慢。我的控制台显示它正在立即接收成功响应,但它仍有一段时间没有转到下一个视图控制器。我还发现,在添加代码以关闭加载指示器后,它也会立即关闭。所以现在,如果我提供了正确的凭证,它将关闭加载指示器,但在转到下一个视图控制器之前仍将等待15秒。想法

        let request = NSMutableURLRequest(URL: NSURL(string: "myurl")!)
        request.HTTPMethod = "POST"
        var postString = "user=\(username.text)&pass=\(password.text)"
        var success = 0

        var alert = UIAlertView(title: "Logging In", message: "Please wait...", delegate: self, cancelButtonTitle: "Cancel");


        var loadingIndicator = UIActivityIndicatorView(frame: CGRectMake(50, 10, 37, 37)) as UIActivityIndicatorView
        loadingIndicator.center = self.view.center;
        loadingIndicator.hidesWhenStopped = true
        loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        loadingIndicator.startAnimating();

        alert.setValue(loadingIndicator, forKey: "accessoryView")
        loadingIndicator.startAnimating()

        alert.show();

        request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
        let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
            data, response, error in

            if error != nil {
                let alert = UIAlertView()
                alert.title = "Login Failed!"
                alert.message = "Error: \(error)"
                alert.delegate = self
                alert.addButtonWithTitle("OK")
                alert.show()
                return
            }

            println("response = \(response)")
            let responseString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
            println("responseString = \(responseString)")

            let jsonData = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers , error: nil) as! NSDictionary
            success = jsonData["Success"] as! Int

            if(success == 1){
                alert.dismissWithClickedButtonIndex(0, animated: true)
                self.login()
            }
            else{
                let alert = UIAlertView()
                alert.title = "Login Failed"
                alert.message = "Invalid username/password"
                alert.delegate = self
                alert.addButtonWithTitle("Retry")
                alert.show()
            }

        }

        task.resume()

在下一个视图控制器中是否有什么东西挡住了它?查看加载下一个视图控制器所花的时间有多长。不,没有。它是客户端页面,在ViewLoad上不加载任何内容。