Junior — Middle
Loyihalaringizda qaysi yuqori darajadagi funksiyalarni ishlatdingiz va ularning qo'llanilish misollarini keltira olasizmi?
sobes.tech AI
AIdan javob
iOS dasturlashda, yuqori darajali funksiyalar ko‘pincha kolleksiyalarni qayta ishlash va asinxronlikni boshqarish uchun ishlatiladi. Masalan, map, filter va reduce metodlari — bu boshqa funksiyalarni argument sifatida qabul qiladigan yuqori darajali funksiyalar.
Raqamlar massivini o‘zgartirish uchun map dan foydalanish misoli:
let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers) // [1, 4, 9, 16, 25]
Shuningdek, yopilishlar (closures) ko‘pincha voqealarni yoki asinxron operatsiyalarni boshqarish uchun funksiyalarga uzatiladi:
func fetchData(completion: (Result<String, Error>) -> Void) {
// Asinxron ma’lumotlarni yuklashni taqlid qilish
DispatchQueue.global().async {
let data = "Ma’lumotlar"
completion(.success(data))
}
}
fetchData { result in
switch result {
case .success(let data):
print("Olingan: \(data)")
case .failure(let error):
print("Xato: \(error)")
}
}
Shu tarzda, yuqori darajali funksiyalar yanada ifodali va qisqa kod yozishga imkon beradi.