İçeriğe geç

Swift 5 ile Result kullanımı

Merhabalar bu yazımda Swift 5 ile aramıza katılan Result kullanımını sizlerle paylaşacağım. Uygulamalarınızda standart Error handle yerine daha basit, anlaşılır bir handle işlemi yapmanıza olanak veren yapıyı inceleyelim.

Error handle işlemleri request API işlemlerinde oldukça önemlidir. Bu yüzden aşağıdaki Result enum bizlere daha rahat bir kullanım sağlar.

public enum Result<Success, Failure: Error> {
    case success(Success), failure(Failure)
}

Result işlemini kullandığım örneğimi aşağıda inceleyebilirsiniz.

enum URLError: Error {
    case failedURL
}

class ApiService {
    func request(url:String, completion: @escaping (Result<Int,Error>) -> Void) {
        guard let url = URL(string: url) else {
            completion(.failure(URLError.failedURL))
            return
        }
        completion(.success(200))
    }
}

let service = ApiService()

service.request(url: "https://kenanatmaca.com") { (result) in
    switch result {
    case .success(let status): print(status) // 200
    case .failure(let error): print(error.localizedDescription)
    }
}

 

Tarih:SwiftSwift 5

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca