Sobes.tech
Middle

Кадом ҳендлери анҷомро навиштед?

sobes.tech AI

Ҷавоб аз AI

Ман ба бисёр ҳалкунандаҳои анҷомро барои вазифаҳои гуногун навиштаам, аз ҷумла:

  • Коркарди натиҷаҳои дархостҳои шабакавӣ (гирифтани маълумот, ҳолати иҷро).
  • Оператсияҳои асинхронӣ бо базаҳои додаҳо (захира кардан, хондан, навсозӣ).
  • Оператсияҳои системаи файлҳо (хондан, навиштан, тоза кардан).
  • Анимацияҳо ва интерфейсҳои корбар (тамом кардани анимацияҳо, коркарди ҳаракатҳои корбар).
  • Оператсияҳои махсуси асинхронӣ бо имконияти интиқол додани натиҷаҳо ва хатоҳо.

Масалан, вақте ки бо URLSession кор мекунам, ман ин намунаи зеринро истифода мебарам:

URLSession.shared.dataTask(with: url) { data, response, error in
    if let error = error {
        // Коркарди хато
        completion(.failure(error))
        return
    }
    guard let httpResponse = response as? HTTPURLResponse,
          (200...299).contains(httpResponse.statusCode),
          let data = data else {
        // Коркарди ҷавоби нодуруст ё маълумот
        completion(.failure(URLError(.badServerResponse)))
        return
    }
    // Коркарди муваффақонаи маълумот
    do {
        let model = try JSONDecoder().decode(SomeModel.self, from: data)
        completion(.success(model))
    } catch {
        // Коркарди хати декодинг
        completion(.failure(error))
    }
}.resume()

ки completion як closure-и (Result<SomeModel, Error>) -> Void мебошад. Истифодаи Result имкон медиҳад, ки равшан фарқ гузошта шавад байни анҷоми муваффақ ва хато.