Sobes.tech
Junior — Middle

Оё метавонед консептии вуҳудро дар намунаҳои тарҳрезӣ ва чӣ гуна истифода мешавад, шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Делегатсия — это шаблон проектирования, при котором один объект передает выполнение определенной задачи другому объекту, называемому делегатом. Это позволяет разделить ответственность и повысить гибкость кода.

В iOS делегирование часто используется для передачи событий или данных между объектами. Например, UITableView использует делегат для обработки выбора ячеек или настройки внешнего вида.

Пример на Swift:

protocol MyDelegate: AnyObject {
    func didFinishTask()
}

class Worker {
    weak var delegate: MyDelegate?

    func startTask() {
        // Выполняем задачу
        // ...
        delegate?.didFinishTask()
    }
}

class Manager: MyDelegate {
    func didFinishTask() {
        print("Задача завершена")
    }
}

let worker = Worker()
let manager = Manager()
worker.delegate = manager
worker.startTask()

Здесь объект Worker делегирует уведомление о завершении задачи объекту Manager.