- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,这是一个错误,我不知道如何解决。从本教程中:
Reusable Image Cache in Swift
码:
final class ImageLoader {
private let cache = ImageCache()
func loadImage(from url: URL) -> AnyPublisher<UIImage?, Never> {
if let image = cache[url] {
return Just(image).eraseToAnyPublisher()
}
return URLSession.shared.dataTask(with: url)
.map { (data, response) -> UIImage? in return UIImage(data: data) }
.catch { error in return Just(nil) }
.handleEvents(receiveOutput: {[unowned self] image in
guard let image = image else { return }
self.cache[url] = image
})
.subscribe(on: .background)
.receive(on: RunLoop.main)
.eraseToAnyPublisher()
}
}
最佳答案
为此,您必须使用dataTaskPublisher
而不是dataTask
本身
final class ImageLoader {
private let cache = ImageCache()
func loadImage(from url: URL) -> AnyPublisher<UIImage?, Never> {
if let image = cache[url] {
return Just(image).eraseToAnyPublisher()
}
return URLSession.shared.dataTaskPublisher(for: url)
.map { UIImage(data: $0.data) }
.catch { error in return Just(nil) }
.handleEvents(receiveOutput: {[unowned self] image in
guard let image = image else { return }
self.cache[url] = image
})
.subscribe(on: DispatchQueue.global(qos: .background))
.receive(on: RunLoop.main)
.eraseToAnyPublisher()
}
}
关于ios - URLSessionDataTask没有成员“映射” Swift 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60236376/
我正在使用 URLSessionDataTask 下载视频并播放它们(我需要缓存,所以我正在使用 func urlSession(_ session: URLSession, dataTask: UR
每次我收到以下错误: jsonError::Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 1."
使用 Swift 4,我有这段代码尝试向 REST API 发出 POST 请求: spinner.startAnimation(self) btnOk.isEnabled = false btnCa
我想模拟 URLSession,并返回一个模拟的 URLSessionDataTask。 为了模拟 URLSession 我创建了一个协议(protocol) protocol URLSessionP
我想模拟 URLSession,并返回一个模拟的 URLSessionDataTask。 为了模拟 URLSession 我创建了一个协议(protocol) protocol URLSessionP
我有一个 URLSessionDataTask 实例,我想知道操作何时开始(一个 Date 对象),这样我就可以计算已经过了多少时间。 我在 Apple 的文档 (https://developer.
我目前正在尝试为 URI 创建一个 URLSessionDataTask。因为 URI 是重定向的,所以我需要找出重定向的(最终)URL 是什么。为此,我想在 URLSessionDataDelega
我在我的 SwiftUI 应用程序中将此 APIRepresentative 类作为单例 EnvironmentObject。该类具有 @Published var,它按 ID 保存所有 Insigh
我正在尝试使用 URLSessionDataTask 访问我的后端 API。其中一部分包括访问使用 Safari 存储的 cookie。 例如http://api.example.com/v1/get
我有一个简单的应用程序,我以这种方式从存储在我自己的服务器中的 JSON 文件中获取数据 - 我正在使用 SwiftyJSON : func queryData(_ fileName:String)
我遇到了这个奇怪的问题,我无法对我不基于 GraphQL 控制的 REST 服务执行简单的 POST 请求。 问题是,无论我在 URLRequest 类的 httpMethod 属性中设置什么,它总是
基本上我有一些 JSON 数据,我希望从一堆 URL 中检索(全部来自同一主机),但是我只能大约每 2 秒至少请求一次此数据,并且一次只能请求一个,否则我会被服务器“时间禁止”。正如您将在下面看到的;
我是一名优秀的程序员,十分优秀!