我不太清楚我在这里缺少什么来使这段代码有效。尝试使用登录/注册连接到服务器来创建应用程序,但我似乎无法让它工作。这是我的代码:
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
答案 0 :(得分:1)
错误消息说明了这一切,您正在解除行data
中的data
值JSONObjectWithData(data!, ...
,但调试器停止的位置应该很明显。防止错误,从上游开始。
if error != nil { handle error and abort }
... etc