Swift's Result — это generic enum, разработанный для представления результата операции, которая может либо успешно завершиться, либо вызвать ошибку. Его полное объявление выглядит так:
Result<Success, Failure: Error>
Тип Failure должен соответствовать протоколу Error, что обеспечивает типобезопасную обработку ошибок.
.success(Success) — содержит ожидаемый результат при успешном завершении операции.failure(Failure) — содержит значение ошибки, когда что-то пошло не такResult обычно используется в completion handlers и асинхронных API для чистой передачи результатов без опоры на опциональные пары вроде (Data?, Error?).
Типичный пример:
func fetchData(completion: (Result<Data, NetworkError>) -> Void) { ... }
Вызывающий код затем обрабатывает оба случая через switch:
switch result {
case .success(let data):
// обработка data
case .failure(let error):
// обработка error
}
(value?, error?)Параметр типа Failure в Result<Success, Failure> должен соответствовать протоколу Error, чтобы обеспечить типобезопасную обработку ошибок.
Новый — ещё не проверен сообществом
Вы