我有一个现有的模型,我正在为UI添加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或其他任何东西创建一个新对象的可能解决方案是什么?
发布于 2018-06-29 19:10:06
您可以在willBeShown()
方式的视图模型中下载图片。当你需要把url传递给view model时,你需要子类化几个类。请在gist中查看完整的解决方案。请随时提出任何问题。
https://stackoverflow.com/questions/48700729
复制相似问题