【发布时间】:2018-10-13 21:14:04
【问题描述】:
我无法在 Swift 中成功设置 Siesta 的本地数据。我的目标是在本地为URL设置一个UIImage,这样就可以在没有下载时间的情况下显示这个本地图像。
为此,我将 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。
【问题讨论】:
标签: ios swift siesta-swift