我无法在 Swift 中成功设置 Siesta 的本地数据。我的目标是UIImage
为URL
本地设置一个,这样就可以在没有下载时间的情况下显示这个本地图像。
为此,我将 URL 的图像数据设置为:
let resource = CustomRemoteImageView.imageCache.resource(myPhoto.url.absoluteString)
let imageData = UIImagePNGRepresentation(image)! // I've also tried putting the UIImage directly in there, because the transformation chain doesn't apply to local data, right?
let entity: Entity<Any> = Entity(content: imageData, contentType: "*/*") // I've played around with the content type too!
resource.overrideLocalData(with: entity)
然后,我使用了一个始终尝试将内容解析为图像的自定义服务:
private let imageTransformer =
ResponseContentTransformer
{ Image(data: $0.content)}
convenience init() {
self.init(standardTransformers: [])
configure {
$0.pipeline[PipelineStageKey.parsing].add(self.imageTransformer, contentTypes: ["*/*"])
}
}
该系统适用于所有远程图像,但它似乎总是无法解析这个被覆盖的本地图像。似乎它正在尝试解析,但每次都失败。
即我得到Siesta.ResourceEvent
一个
(Siesta.ResourceEvent) $R20 = newData {
newData = network
}
但实际.typedContent
是nil
。