Методы делегата цель-с - PullRequest
       3

Методы делегата цель-с

1 голос
/ 22 февраля 2012

Я думаю, что понимаю, как работает шаблон делегата, но эта часть мне не ясна.

Как создать пользовательский метод делегата, который возвращает результат? Куда возвращается возвращаемое значение? Как использовать источник данных с методами делегата

Вот что я имею в виду. Это метод делегата UITableViewDelegate. В зависимости от возвращаемого значения строки таблицы имеют разную высоту.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return 22;
}

Я читаю документацию Apple по теме, но я все еще в замешательстве.

Пожалуйста, предоставьте мне несколько простых примеров кода, если это возможно.

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Делегирование является одним из примеров того, что называется шаблон проектирования .Вот документация Apple по делегированию .

В iOS класс UIApplication предоставляет хороший пример делегирования.Протокол UIApplicationDelegate определяет этот (необязательный) метод:

- (void)applicationWillTerminate:(UIApplication *)application

Класс, который служит делегатом для UIApplication, может реализовать этот метод, и этот метод будет выполняться, когда приложение собирается завершить работу.Поэтому делегирование - это метод, который позволяет настраивать поведение в готовых объектах (в данном случае UIApplication).Приложения должны закрываться все время, но программист (ы) каждого приложения должен решить, что должно произойти непосредственно перед завершением приложения.

Документация Apple гласит:

Этот метод следует использовать для выполнения любых конечных задач очистки для вашего приложения, таких как освобождение общих ресурсов, сохранение пользовательских данных, аннулирование таймеров исохранение достаточного состояния приложения для восстановления интерфейса вашего приложения при его перезапуске.Ваша реализация этого метода имеет примерно пять секунд для выполнения любых задач и возврата.Если метод не возвращается до истечения времени, система может полностью завершить процесс.

1 голос
/ 22 февраля 2012

Очень хорошее и подробное объяснение здесь и здесь вы можете увидеть пример кода и некоторую дополнительную информацию о шаблоне Delegate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...