Думаю, будет гораздо разумнее иметь это в каждом контроллере вида. То, как вы его настроили, теперь звучит немного странно - вы должны либо использовать делегирование, чтобы делегат приложения мог общаться с каждым контроллером представления, либо у вас есть тонна ссылок на ваши контроллеры представления в делегате приложения, которые вы наверное не нужно. Я полагаю, что ваш делегат приложения перегромлен, и мне любопытно, как вы справляетесь с такими вещами, как, если пользователь решает прекратить смотреть на конкретное представление, прежде чем XML, связанный с этим представлением, будет отправлен обратно в ваше приложение и разобран.
Если вас беспокоит дублирование кода в ваших контроллерах представления, вы, вероятно, можете уменьшить это, используя Категории.
В конце концов, я думаю, что, вероятно, для доменных объектов лучше всего это обрабатывать, а не для контроллеров представления. Например, в viewWillAppear вы получаете или создаете экземпляр объекта домена и запускаете метод getData, который имеет контроллер представления в качестве делегата. Весь запрос / анализ выполняется в вашем доменном объекте, и когда он завершен, он отправляет вашему контроллеру представления сообщение getDataDidFinish или что-то в этом роде.