Прежде всего, мне будет гораздо легче получить ответы, если разбить все эти запросы на отдельные вопросы.Вам будет трудно выбрать ответ, который отвечает им наилучшим образом.
Тем не менее, я сделаю снимок № 1.
Многие типы объектов в Какао (иКакао Touch) отправлять сообщения.Некоторые, например NSFetchedResultsController, отправляют сообщения, когда их содержимое изменяется.Некоторые, например UITableViewController, отправляют сообщение при касании ячейки таблицы.Эти сообщения должны идти куда-то.Они не могут быть отправлены просто "там", или ничто их никогда не услышит.Этим сообщениям нужен пункт назначения.В Какао пункт назначения для этих сообщений называется «делегатом».Например, «я назначаю этот объект моим делегатом и получаю мои сообщения».
Если вы находитесь в viewController, который управляет UITableView, очень часто имеет смысл просто указать «self» какделегировать.То есть, по сути, мистер UITableView, просто отправьте мне свои сообщения, я их обработаю.В свою очередь, ваш viewController должен объявить (в .h), что они соответствуют протоколу UITableViewDelegate, а затем необходимые методы в этом протоколе должны быть реализованы в вашем .m.
Это ОЧЕНЬ распространенный шаблон вКакао.Не продолжай, пока не поймешь.