Я прочитал кучу статей и чтений о делегатах Objective-C, пытаясь понять их.Исходя из Java, они очень похожи на слушателей Java.Например, допустим, у меня была кнопка на Java.Когда кнопка нажата, я хочу, чтобы что-то случилось.Мой код может выглядеть примерно так:
ButtonListener myButtonListener = new ButtonListener();
someButton.addActionListener(myButtonListener);
...
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
Что-то в этом роде.В target-c кажется, что я бы сделал что-то вроде вызова метода setDelegate для моей кнопки и передачи его «слушателю» в качестве делегата.Фактический класс кнопки затем, вероятно, проверит, ответил ли этот делегат какому-то селектору (т. Е. ActionPerformed).Если я думаю об этом правильно, кажется, что делегаты - это как слушатели.Это верно?Есть ли существенные различия?
Спасибо!