所以我有一个viewcontroller,显示有关帖子的所有信息。它正在完成我想要的工作但是有一个问题。我有一个从一些firebase存储中提取图像的imageview。他们正确地正确加载。但我的问题是,有时我会注意到图片的变化。有时我会注意到单元格中的背景图像是图像的模糊图像要么根本不存在,要么是错误的。我有什么办法可以解决这个UI滞后问题。在提供此控制器的控制器中,我存储了此VC的一个实例,并且仅重用相同的实例,以免产生内存泄漏。我不确定这是否是错误的实现或什么,但似乎它可能会导致一些错误。
import UIKit
import Firebase
import FirebaseDatabase
class EventDetailViewController: UIViewController {
var currentEvent : Event?{
didSet{
let imageURL = URL(string: (currentEvent?.currentEventImage)!)
DispatchQueue.main.async {
self.currentEventImage.af_setImage(withURL: imageURL!)
self.blurryBackGround.image = self.currentEventImage.image
}
currentEventTime.text = currentEvent?.currentEventTime
currentEventDate.text = currentEvent?.currentEventDate
eventNameLabel.text = currentEvent?.currentEventName.uppercased()
guard let currentZip = currentEvent?.currentEventZip else{
return
}
let firstPartOfAddress = (currentEvent?.currentEventStreetAddress)! + "\n" + (currentEvent?.currentEventCity)! + ", " + (currentEvent?.currentEventState)!
let secondPartOfAddress = firstPartOfAddress + " " + String(describing: currentZip)
addressLabel.text = secondPartOfAddress
descriptionLabel.text = currentEvent?.currentEventDescription
descriptionLabel.font = UIFont(name: (descriptionLabel.font?.fontName)!, size: 14)
updateWithSpacing(lineSpacing: 7.0)
navigationItem.title = currentEvent?.currentEventName.capitalized
setupAttendInteraction()
}
}
检查currentEventImage.image后,进入屏幕时似乎为零
答案 0 :(得分:0)
更改的/改变的
self.blurryBackGround.image = self.currentEventImage.image
到
self.blurryBackGround.af_setImage(withURL: imageURL!)