Ну, "не получить это" слишком резко;У меня это работает, потому что для меня это логическая установка, но это не похоже на то, что iOS считает логичным.Так что я ничего не получаю.
Предположим, у меня есть приложение, которое показывает две части информации;дата и стол.Согласно подходу MVC, у меня здесь три MVC, один для даты, один для таблицы и один, который берет оба этих MCV и превращает их в экран, подключая их.
МастерMVC знает, как / где он хочет расположить два подчиненных MVC.Каждая деталь MVC заботится только о своих собственных детях в пределах, указанных мастером MVC.Что-то вроде:
- (void)loadView {
MVC* mvc1 = [[MVC1 alloc] initwithFrame:...]
[self.view addSubview:mvc1.view];
MVC* mvc2 = [[MVC2 alloc] initwithFrame:...]
[self.view addSubview:mvc2.view];
}
Если вышеприведенное логично (что для меня), то я ожидаю, что любой класс MVC будет иметь конструктор "initWithFrame".Но MVC этого не делает, только мнение имеет это.
Почему?
Как правильно расположить вложенные MVC?(Естественно, у меня нет только этих двух, но у подробных MVC снова есть подчиненные MVC.)
Спасибо всем за ответ.Я буду изучать ссылки, которые были предоставлены.
Позвольте мне попытаться объяснить мою проблему еще раз, надеюсь, чтобы прояснить ее.Обратите внимание, что я уже понял, что мой взгляд не соответствует iOS, так как мне не нравится, куда движется мой код.
Да, я называю UIViewController «MVC», поскольку он для меня в настоящий момент реализует все аспекты MVC;он имеет код контроллера и встроенное представление, плюс контроллер обычно также хранит и предоставляет данные (все примеры TableView реализуют его так).
MVC может присутствовать на многих уровнях;в основном UITextField может (должен?) быть MVC;есть представление, но также задействована логика контроллера, которую вы не хотите смешивать с другим кодом.Инкапсуляция.Например: Java Swing JTextField имеет MVC.Так же, как и JTable, JList, ... Несколько шаблонов MVC, вложенных в другие MVC для построения целого экрана.
Это то, что я ожидаю, когда какая-то платформа говорит, что использует шаблон MVC.Поэтому, когда я закодировал таблицу, я создал MVC и отправляю только сообщение loadData с датой в качестве параметра.Надо позаботиться обо всем остальном.У меня есть деталь MVC, которая может скользить;Затем я говорю ему объект, который он должен показать, и он должен заботиться обо всем остальном.Инкапсуляция.
Итак, у меня много UIViewControllers со встроенными UIViews.И это не способ сделать это ...