Sobes.tech
Intern

Swift-də ən sevdiyiniz funksiya hansıdır?

sobes.tech Süni İntellekt

AI-dan cavab

Result növ enumeration. Bu, əməliyyatın uğurlu yerinə yetirilməsi və ya səhv olması hallarını daha aydın şəkildə idarə etməyə imkan verir, bu da kodu daha təhlükəsiz və anlaşılan edir.

enum Result<Success, Failure> where Failure : Error {
    case success(Success) // Uğurlu nəticə, Success növündə əlaqəli dəyər ilə
    case failure(Failure) // Səhv nəticə, Failure növündə əlaqəli dəyər ilə
}

Result-un istifadəsinin üstünlükləri:

  • Açıq göstəriş: Bu, funksiyanın ya uğurlu dəyər, ya da səhv qaytaracağını aydın şəkildə göstərir.
  • Təhlükəsizlik: Kompilyator hər iki halı (successfailure) idarə etməyi məcbur edir, bu da səhvlərin ötürülməsinin qarşısını alır.
  • Oxuma asanlığı: Result istifadə edən kodlar, funksiyanın niyyətinin aydın olması səbəbindən daha asan başa düşülür.
  • Uyğunluq: Asinxron əməliyyatlar və səhv idarəetməsi ilə yaxşı inteqrasiya olunur.

İstifadə nümunəsi:

func fetchData(from url: URL, completion: @escaping (Result<Data, Error>) -> Void) {
    URLSession.shared.dataTask(with: url) { data, response, error in
        if let error = error {
            completion(.failure(error)) // Səhvi failure vasitəsilə ötürmək
            return
        }
        if let data = data {
            completion(.success(data)) // Məlumatı success vasitəsilə ötürmək
            return
        }
        // Gözlənilməz ssenarilərin işlənməsi, ehtiyac olarsa
    }.resume()
}

// Funksiyadan istifadə
let someURL = URL(string: "https://example.com")!
fetchData(from: someURL) { result in
    switch result {
    case .success(let data):
        print("Alınan məlumatlar: \(data)") // Uğurlu nəticənin işlənməsi
    case .failure(let error):
        print("Məlumatların alınmasında xəta: \(error.localizedDescription)") // Xəta ilə işləmə
    }
}