Я пытаюсь найти лучший способ реализовать проект MVC в своем приложении. Прямо сейчас, когда пользователь входит в UITableViewController, я отправляю запрос на мою модель, чтобы перейти в Интернет и загрузить некоторые данные. Когда данные возвращаются, я хочу, чтобы он обновлял данные, даже если мой UITableViewController освобожден (пользователь закрывает представление или отказывается от него). Поэтому в настоящее время я обновляю модель, а затем имею делегат на модели для «обновления пользовательского интерфейса» в UITableViewController. В основном после возвращения данных я хочу, чтобы модель вызывала [tableView reloadData], и я достигаю этого с помощью делегата.NSURLConnection MVC Best Practices
Мои вопросы:
Это обязательно правильный путь? Есть ли другой способ для моей модели вызывать методы на моем UIViewController?
Что делать, если несколько экземпляров ViewControllers будут уведомлены при изменении этой модели ... например, что если я вернусь из UITableViewController1, а затем перейдите в UITableViewController2 и эта же модель/данные будут использованы. Должен ли я просто создавать несколько делегатов на моей модели?
Просто ищите рекомендации и задаетесь вопросом, правильно ли я это делаю.
Заранее благодарен.
Для KVO после анализа данных XML из веб-запроса и изменения моей модели он автоматически уведомляет VC, которые регистрируются для уведомлений об изменениях? В то время, если модель представляет собой массив объектов, я мог бы вызвать tableView: insertRows: atIndexPaths? – VTS12
Yikes ... Форматирование в комментариях не так хорошо. Я обновил ответ, чтобы добавить информацию о ручном/автоматическом KVO. –