Мне всегда казалось, что я понял MVC, но в последнее время, прочитав много сообщений о переполнении Stack на эту тему, Ive обнаружил, что способы, с помощью которых MVC-структуры делают что-то, немного отличаются друг от друга. Более конкретно, в том, как взаимодействуют взгляд и модель, кажется, есть две школы мысли:
-
Когда пользователь взаимодействует с представлением, представление уведомляет контроллер, а контроллер, в свою очередь, что-то делает с моделью. Когда модель изменяется, модель уведомляет контроллер, который, в свою очередь, обновляет представление.
-
Вид подписывается на модель. Когда модель изменяется, представление, кажется, уведомляется напрямую, что ему необходимо обновить себя.
Итак, мой вопрос: В Cocoa Touch (iOS), что лучший способ сделать MVC? Im в основном кодирует iOS в эти дни, и я заинтересован в лучшей практике для этой платформы только. (Мне не интересно, как ASP.NET, Rails, Backbone и т.д. Делают что-то.)
Было бы замечательно, если бы был представлен пример KVO. Благодарю. =)