我收到错误:
NSData 不是我下面代码中 NSData 的子类型,我做错了什么?
let urlPath = "myurl"
var url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(url, completionHandler: {data, response, error -> Void in
if error {
println(error)
} else {
println(data)
}
})
task.resume()
最佳答案
实际的错误信息是'NSData!'不是“NSData”的子类型
(注意 NSData
之后的 !)
NSURL(string:)
是一个 failable initializer ,这是 Swift 1.1 (Xcode 6.1) 中的新功能。失败的初始化器返回一个可选的,失败时将为 nil
。
在使用 url 之前必须检查是否失败:
let urlPath = "myurl"
if let url = NSURL(string: urlPath) {
let session = NSURLSession.sharedSession()
let request = NSURLRequest(URL: url)
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
if error != nil {
println(error)
} else {
println(data)
}
})
task.resume()
}
关于ios - NSData 不是 NSData 的子类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26478710/