У меня есть метод generi c, который выбирает документ из Firestore
и возвращает документ или ошибку в случае сбоя. Я пытаюсь передать два параметра в качестве параметров обратного вызова в замыкании.
Проблема возникает, когда я пытаюсь вызвать его.
fetchDocument(documentReference: documentReference) { (_, Error?) in
//
}
Вместо получения Document?
все, что я получаю, это подчеркивание Я получаю Error?
так, как должен, но не получаю Document?
Я хочу получить (Document?, Error?)
вместо (_, Error?)
Есть идеи почему?
func fetchDocument<Document: DocumentProtocol>(documentReference: DocumentReference, completion: @escaping (Document?, Error?) -> Void) {
documentReference.getDocument { (document, error) in
if let document = document, document.exists {
completion(Document.init(document: document), nil)
} else {
completion(nil, error)
}
}
}