我正在关注notificationhub教程,它们的代码如下。他们使用会话的方式如下所示。我想知道为什么他们不使用URLSession.shared
。两者都在工作,但想知道背后的逻辑是什么。
private let session = URLSession(configuration: URLSessionConfiguration.default)
(self.session.dataTask(with: request) { dat, res, err in
// do some stuff
}).resume()
// URLSession.shared approach
URLSession.shared.dataTask(with: request) { dat, res, err in
// do some stuff
}).resume()
发布于 2020-07-17 23:06:41
正如@Rob提到的here,它们在功能上是相似的,配置可以用于委托目的(我已经将链接中的旧Objective-C答案转换为下面的Swift )。
当您使用它们时,它们在功能上非常相似。但是使用shared
并不能给你提供定制URLSessionConfiguration
的能力(例如调整缓存、定制头部等)也不要使用基于代理的URLSession
格式。但如果你不需要这些功能,请随意使用shared
,因为它更容易。
https://stackoverflow.com/questions/62962728
复制相似问题