注册/登录swift 2.0错误

时间:2016-03-06 21:50:05

标签: swift

我不太清楚我在这里缺少什么来使这段代码有效。尝试使用登录/注册连接到服务器来创建应用程序,但我似乎无法让它工作。这是我的代码:

    do {

        let post:NSString = "username=\(username)&password=\(password)"

        NSLog("PostData: %@",post)

        let url:NSURL = NSURL(string: "http://www.ec2-54-191-63-219.us-west-2.compute.amazonaws.com/userRegistration.php")!

        let postData:NSData = post.dataUsingEncoding(NSUTF8StringEncoding)!

        let request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "POST"
        request.HTTPBody = postData

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

                do {
                    let json = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as? NSDictionary

                    if let parsejson = json
                    {
                        let resultValue:String = parsejson["status"] as! String

                        print("result: \(resultValue)")


                        if (resultValue == "Success")
                        {
                            let alert = UIAlertController(title: "Success", message: "Registration Successful", preferredStyle: UIAlertControllerStyle.Alert)

                            let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default){action in self.dismissViewControllerAnimated(true, completion: nil)}

                            alert.addAction(okAction)

                            self.presentViewController(alert, animated: true, completion: nil)
                        }
                        else
                        {
                        print(resultValue)
                        }
                    }


                } catch {
                    print("failed: \(error)")
                }
        }

        task.resume()

这是我尝试添加帐户时遇到的错误:

PostData: username=Optional("josh")&password=Optional("test")
fatal error: unexpectedly found nil while unwrapping an Optional value

1 个答案:

答案 0 :(得分:1)

错误消息说明了这一切,您正在解除行data中的dataJSONObjectWithData(data!, ...,但调试器停止的位置应该很明显。防止错误,从上游开始。

if error != nil { handle error and abort }

... etc