Что такое методы делегата и делегата
Ребята, пожалуйста, дайте мне знать разницу между методами Делегата и Делегата и его различиями и его обычаями.
Ответы
Ответ 1
Трудно объяснить, но делегат выполняет методы от имени другого объекта. Просмотр таблицы не знает, что делать, когда вы выбираете элемент в списке. Вместо этого он должен задать объекту делегата вопрос, в частности, didSelectRowAtIndexPath. Единственная информация, которую знает таблица, - это раздел и строка, которую пользователь прослушивал. Таким образом, представление таблицы передает эту информацию объекту делегата, по существу говоря: "Эй, пользователь нажал Row 4 в разделе 0. Сделайте что-нибудь".
Объект delegate находит метод didSelectRowAtIndexPath и выполняет код внутри.
Существует множество методов делегирования для разных объектов. Например, объект Text Field ничего не может сделать сам по себе. Вместо этого он использует делегат для выполнения действий. Если вы нажмете клавишу ввода на экранной клавиатуре, текстовое поле попросит объект делегата выполнить определенный метод textFieldShouldReturn. Если делегат, который вы установили для своего текстового поля, не имеет метода textFieldShouldReturn, текстовое поле не будет знать, что делать, когда вы нажимаете кнопку ввода.
Это имеет смысл?
Ответ 2
Делегат - это объект. Метод делегата - это метод, который должен реализовать объект делегата. Некоторые методы делегатов требуются, а некоторые - нет. В IOS большинство делегатов должны соответствовать протоколу Objective-C; объявление протокола сообщит вам, какие методы являются необязательными и какие необходимы.
Ответ 3
A delegate - это просто ссылка на другой объект, а метод делегата - это метод делегата.
A метод делегата реализует механизм обратного вызова, который обычно принимает отправителя как один из вызываемых параметров.
Ответ 4
Все приложения iOS используют делегирование. Даже основные. Его уже доступно в коде, который они вам дают. На других языках вы использовали бы что-то вроде наследования.
Как и в реальном мире, делегат представляет кого-то или что-то или в этом случае объект.
Возьмите объекты пользовательского интерфейса, например, у них уже есть свои методы для выполнения задач. Но они могут быть подключены к вашему viewController (объект/пользовательский класс), и они могут делегировать ответственность за ваш объект (ы).
Несколько вещей, которые нужно запомнить:
- Все это делается с использованием протоколов Delegate.
- Это добровольная вещь. поэтому ваши объекты предпочитают быть делегатом.
- Посмотрите на протокол делегата и выполните эти методы. Некоторые из них являются необязательными, и некоторые из них необходимы.
- Убедитесь, что делегирующий объект подключен к вашему объекту.