В функции получения поста (данных с бд) вылетает ошибка nil.
class APIManager{
static let shared = APIManager()
private func configureFB() -> Firestore{
var db: Firestore!
let settings = FirestoreSettings()
Firestore.firestore().settings = settings
db = Firestore.firestore()
return db
}
func getPost(id: String, imageID: String, completion: @escaping (Post?) -> Void){
let db = configureFB()
db.collection("posts").document(id).getDocument() { (document, error) in
guard error == nil else {completion(nil); return}
self.getImage(id: imageID, completion: {image in
let post = Post(name: document?.get("name") as! String, date: document?.get("date") as! String, price: document?.get("price") as! String, desc: document?.get("desc") as! String, customer: document?.get("customer") as! String, image: image) // Сдесь появляеться ошибка Unexpectedly found nil while unwrapping an Optional value
completion(post)
})
}
}
func getImage(id: String, completion: @escaping (UIImage) -> Void){
let storage = Storage.storage()
let reference = storage.reference()
let pathRef = reference.child("pictures")
var image: UIImage = UIImage(named: "approval")!
let fileRef = pathRef.child(id + ".png")
fileRef.getData(maxSize: 128*128, completion: {data, error in
guard error == nil else {completion(image); return}
image = UIImage(data: data!)!
completion(image)
})
}
}
struct Post {
let name: String
let date: String
let price: String
let desc: String
let customer: String
let image: UIImage
}