我正在从事一个项目,其中我想通过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))
})
}
我相信这是 Swift 2 中引入的一个变化。您是否尝试过将 let 语句更改为:
let dataTask = session.dataTaskWithURL(url!, completionHandler: { (data: NSData?, response:NSURLResponse?, error: NSError?) -> Void in
我在类似的块中遇到了类似的问题,如果您删除完成处理程序并重新开始,自动完成应该会为您指明正确的方向。