我是iOS的初学者。我搜索过网页,找不到可以解决问题的答案。 坚持并且不知道该怎么做以及如何搜索解决方案。
我正在按照基于Swift 2的教程进行操作。以下方法显示错误。
func downloadBooks(bookTitle: String) {
let stringURL = "GET https://www.googleapis.com/books/v1/volumes?q=\(bookTitle)"
guard let URL = URL(string: stringURL) else {
print("url problems")
return
}
let urlRequest = NSMutableURLRequest(url: URL)
let session = URLSession.shared
let task = session.dataTask(with: urlRequest) { (data: Data?, response: URLResponse?, error: Error?) in
}
task.resume()
}
我做了Xcode建议的所有调整,但没有进一步的提示。
此外,教程中的原始代码部分是这样的:
guard let URL = NSURL(string: stringURL) else {
print("url problems")
return
}
然后Xcode建议添加as URL
,如下所示:
let urlRequest = NSMutableURLRequest(url: URL as URL)
这两个版本都显示无错误。那么区别是什么呢?我应该使用哪一个?
我真的很感激任何帮助!
答案 0 :(得分:13)
在Swift 3中,编译器需要本机URLRequest
let urlRequest = URLRequest(url: url) // use a lowercase variable name, URL is a native struct in Swift 3
但是根据您的特定语法,您甚至不需要请求
let task = session.dataTask(with: url) { (data: Data?, response: URLResponse?, error: Error?) in ...
也不是注释
let task = session.dataTask(with: url) { (data, response, error) in ...