у нас:
- Контроллер с кучей логики (заполнение вьюшек, обработка моделей, перехолов в другие контроллеры, какая-то логика контроллера)
- Вьюха, с таблицей, например (есть кастомная целка)
- Какая-то моделька NSObject, которая юзается.
Грубо говоря, 3 файла.
Вьюхи и модель разгружать нечего, с ними все ясно. А как обстоят дела с контроллером?
Какие доп файлы ты создаешь, для его разгрузки? есть какая-то общая схема? Которая бы подошла для большинства общих случаев? При этом, что бы это все оставалось MVC паттерном
Так это уже не mvc у тебя. Обработка - не дело контроллеров, заполнение - не дело контроллеров, навигация - дело контроллера контроллеров. Я хз, что ты имеешь в виду под общей схемой. Но то, что ты описал - максимально далеко от mvc. У тебя есть вид, который наблюдает модель и заполняет себя из модели, у тебя есть контроллер, инициирующий обработку данных по пользовательским действиям или изменениям моделей и передающий модель в вид. У тебя всегда связка триады следующуя - на один вид,э приходится одна модель, на один контроллер одна модель. Твоя модель совсем необязательно именно модель данных, это может быть обертка над несколькими моделями. От вьюмодели в соверменных терминах отличается тем, что вьюмодель привязана к отображению. Модель привязана к обработке данных. Вьбмодели - интегральная часть модели и создаются для того, чтоб сохранить правило одна модель - один вид. В твоем примере с таблицей при передаче модели в вид, вид запросит у модели модель для таблицы (адаптер - датасорс + делегат, + оьертка над массивом субмоделей из массива моделей в модели), дальше адаптер создавая ячейку булет генерировать уже модель для ячейки из массива и передавать в ячейку.
Обсуждают сегодня