Может ли кто-нибудь объяснить, что такое делегат с примером?

Я много читаю о объективном c делегировании, но не получил ясного представления. Может кто-нибудь объяснить это с помощью хороший и точный пример, чтобы я мог это понять. Спасибо за ваш ответ.

Ответ 1

Делегат в Objective-C по существу является указателем на объект, который другой класс использует для уведомления о событиях.

Например, класс A запрашивает у вас делегата. Вы скажете, что это [этот] экземпляр класса B. будет делать.

[a setDelegate:b];

Затем в методах и действиях класса A он будет вызывать предопределенные методы для вашего объекта-делегата следующим образом:

-(void)actionFinished:(id)sender
{
    [delegate a:self finishedWithResult:RESULT_OK];
}

Итак, ваш объект-делегат должен быть реализован для ответа на это сообщение:

-(void)a:(A *)a finishedWithResult:(int)result { /* respond */ }