我有现有的模型,我正在为用户界面添加Chatto,因此我可以使用占位符创建一条消息,但无法找到下载后更改相同内容的最佳方式。
图书馆链接 https://github.com/badoo/Chatto
我正在使用带有DemoPhotoMessageModel的chatto测试应用程序。 然后我用下面的内容添加
var imgMess = DemoPhotoMessageModel(messageModel: messageModel, imageSize: placeholder.size, image: placeholder)
self.slidingWindow.insertItem(imgMess, position: .bottom)
self.delegate?.chatDataSourceDidUpdate(self)
ImageDownloader.default.downloadImage(with: downloadURL, options: [], progressBlock: nil) {[unowned self]
(image, error, url, data) in
print("Downloaded Image: \(image)")
if let img = image, let imgData = UIImagePNGRepresentation(img){
imgMess.setImage(img: img) //I updated the default implementation changing the image from var to let constant
}
}
我还尝试过在slidingWindow中更新对象。这也行不通。使用新的uid或其他任何东西创建新对象的可能解决方案是什么。
答案 0 :(得分:1)
您可以使用willBeShown()
视图模型方法下载图像。由于需要传递url来查看模型,因此需要将几个类子类化。请在gist中查看完整的解决方案。请随时提出任何问题。