Junior — Middle
Dizayn shablonlarida delegatsiya tushunchasini va uning qanday qo'llanilishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Delegatsiya — bu dizayn shabloni bo'lib, unda bir ob'ekt ma'lum bir vazifani bajarishni boshqa ob'ektga, delegatga, o'tkazadi. Bu javobgarliklarni bo'lishishga va kodning moslashuvchanligini oshirishga imkon beradi.
iOSda delegatsiya ko'pincha voqealar yoki ma'lumotlarni ob'ektlar o'rtasida uzatish uchun ishlatiladi. Masalan, UITableView tanlangan hujayra yoki tashqi ko'rinishni sozlash uchun delegatni ishlatadi.
Swiftda misol:
protocol MyDelegate: AnyObject {
func didFinishTask()
}
class Worker {
weak var delegate: MyDelegate?
func startTask() {
// Vazifani bajarish
// ...
delegate?.didFinishTask()
}
}
class Manager: MyDelegate {
func didFinishTask() {
print("Vazifa yakunlandi")
}
}
let worker = Worker()
let manager = Manager()
worker.delegate = manager
worker.startTask()
Bu yerda, Worker ob'ekti vazifaning tugashini Manager ob'ektiga bildirishni delegatsiya qiladi.