У меня есть модель, состоящая из трех объектов, объекта базовой модели, конкретного объекта модели (например, generalStatus) и объекта-получателя genericXML. Объект getter передается в модель, поэтому я могу управлять тестовыми наборами без сети. Для каждой модели, извлекающей данные и обновляющей представление, существует отдельный контроллер (например, genstatusController). Низкоуровневый получатель genericXML использует ASIHttp для своей работы в сети, есть циклы выполнения, а активность асинхронная. Конкретная модель имеет получатель genericXML, она будет вызывать получателя для обновления XML-документа. Существует много моделей верхнего уровня, использующих одну и ту же базовую модель, а затем общий объект получения XML. Когда средство получения genericXML завершает асинхронный запрос на обновление данных XML, он отправляет NSNotification в модель. Затем модель проанализирует XML и отправит NSNotification на контроллер, сообщив ему, что данные обновлены. У меня есть пара протоколов между базовыми объектами и конкретной моделью. Мне нравится этот уровень принуждения, есть ли способ принудительного применения NSNotification между наборами объектов?
Кстати, контроллер вызывает обновление данных, но ему нужно дождаться асинхронного события от модели, чтобы сообщить, что обновление выполнено, чтобы он мог обновить представление.