Я использую MVC для своего приложения с Firebase. Прямо сейчас в классе Model я хотел бы показать TableView с данными, полученными из Firebase. С каждой ячейкой связано одно изображение. Проблема сейчас в том, что я не могу найти способ показать изображение в виде таблицы. Загрузка изображения находится в бэкэнде, и я не мог найти способ показать это.
class List {
let ref:DatabaseReference?
var name : String
var title : String
var subtitle : String
var time : String
var puretime : Any
var indexOfSelf : String
lazy var photo : UIImage = UIImage()
init(name: String, title: String, subtitle: String, time: String, puretime: Any, indexOfSelf: String, photo: UIImage) {
self.ref = nil
self.name = name
self.title = title
self.subtitle = subtitle
self.time = time
self.puretime = puretime
self.indexOfSelf = indexOfSelf
self.photo = photo
}
typealias CompletionHandler = (_ success:Bool) -> Void
init?(snapshot: DataSnapshot)
{
guard
let value = snapshot.value as? [String: AnyObject],
let url = value["0"] as? String,
let name = value["name"] as? String,
let title = value["title"] as? String,
let subtitle = value["subtitle"] as? String,
let time = value["time"] as? String,
let puretime = value["puretime"] as? Any,
let indexOfSelf = value["indexOfSelf"] as? String
else{
return nil
}
self.ref = snapshot.ref
self.name = name
self.title = title
self.subtitle = subtitle
self.time = time
self.puretime = puretime
self.indexOfSelf = indexOfSelf
var image = UIImage()
}
var image = UIImage()
func getImage(url:String, completionHandler: @escaping CompletionHandler) {
print("Doing something!")
let storageRef = Storage.storage().reference(forURL: url)
storageRef.getData(maxSize: 1 * 2084 * 2084)
{ data, error in
if let error = error {
print("error from downloading image is \(error)")
} else {
self.image = UIImage(data: data!)!
let flag = true
completionHandler(flag)
}
}
}
func toAnyObject() -> Any{
return [
"name": name,
"title": title,
"subtitle": subtitle,
"time": time,
"puretime": puretime,
"indexOfSelf": indexOfSelf,
"photo": photo
]
}
}
Любая другая сущность работает, кроме изображения. Я не совсем уверен, как использовать завершение в моем случае. ТАК кто-нибудь может дать мне несколько советов, пожалуйста?
Большое спасибо