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 имкон медиҳад, ки равшан фарқ гузошта шавад байни анҷоми муваффақ ва хато.