提问者:小点点

在新swift 2.0中获取NSData语句错误


我正在从事一个项目,其中我想通过JSON和PHP将用户数据传递到在线数据库。当我在swift的XCode 6(旧版本)中工作时,此代码没有生成错误,但现在它正在生成错误

“(NSData!, NSURL响应!, NSError!)-

我想这是一个语法错误,在 swift 中使用了新的可选和强制类型运算符。

这是我的代码:

@IBAction func webserviceregistration() {
    var timeFormatter = NSDateFormatter()
    timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
    var strDate = timeFormatter.stringFromDate(dateOfBirth.date)
    var webServiceData: String = "username=\(userNameTextField.text)&password=\(passwordTextField.text)&name=\(nameTextField.text)&dob=\(strDate)"
    var concat: String = self.webservicelogin + webServiceData
    let url = NSURL(string: "www.samplepage.com")
    let session = NSURLSession.sharedSession()
    let dataTask = session.dataTaskWithURL(url!, completionHandler: { (data: NSData!, response:NSURLResponse!, error: NSError!) -> Void in
        //do something
        println("hi")
        println(NSString(data: data, encoding: NSUTF8StringEncoding))
    })
}

共1个答案

匿名用户

我相信这是 Swift 2 中引入的一个变化。您是否尝试过将 let 语句更改为:

let dataTask = session.dataTaskWithURL(url!, completionHandler: { (data: NSData?, response:NSURLResponse?, error: NSError?) -> Void in

我在类似的块中遇到了类似的问题,如果您删除完成处理程序并重新开始,自动完成应该会为您指明正确的方向。