当尝试创建我自己的会话对象NSURLSession()
并请求一个url时,我得到一个无法识别的选择器异常,但是当我使用共享会话NSURLSession.sharedSession()
时,一切正常。怎么样?
var url = NSURL(string: "http:/www.google.com")
if url != nil {
//throws unrecognized selector when dataTaskWithURL is called
let session=NSURLSession()
session.dataTaskWithURL(url!)
//works
let sharedSession=NSURLSession.sharedSession()
sharedSession.dataTaskWithURL(url!)
}
答案 0 :(得分:100)
答案 1 :(得分:5)
在SWIFT 3.0及更高版本中:
URLSession.shared.dataTask(with: url, completionHandler:
{
(data, response, error) in
//Your code
}).resume()
答案 2 :(得分:2)
除了必须使用这两种方法之一
初始化共享会话NSURLSession
之外
init(configuration configuration: NSURLSessionConfiguration)
init(configuration configuration: NSURLSessionConfiguration,
delegate delegate: NSURLSessionDelegate?,
delegateQueue queue: NSOperationQueue?)
答案 3 :(得分:1)
声明时进行初始化: -
var session = URLSession(configuration: .default)