gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 13:06:18 26 4
gpt4 key购买 nike

我在做一个项目,我想通过 JSON 和 PHP 将用户数据传递到在线数据库。当我在 swift 的 XCode 6(旧版本)中工作时,这段代码没有产生任何错误,但是现在它产生了错误

'(NSData!, NSURLResponse!, NSError!) -> Void' is not convertible to '(NSData?, NSURLResponse?, NSError?) -> Void'

我想这是 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

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

关于swift - 在新的 swift 2.0 中获取 NSData 语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32674972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com