Получить данные из базы данных (ошибка nil)

swift
xcode

#1

В функции получения поста (данных с бд) вылетает ошибка 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
}

#2

nil это не ошибка,

Посмотрите что вам тут возвращается


#3

В свифте пока что чайник, прикрепляю весь скриншот xcode:


#4

можно просто сделать тут:

так:

    if let error = error {
        print(error)
        completion(nil)
        return
    }

но лучше выкидывать ошибку дальше, а не игнорировать ее
посмотрите в сторону https://developer.apple.com/documentation/swift/result