Меня особенно интересует, как следовать стандартам Apple в отношении хорошего дизайна паттернов MVC.Позвольте мне проиллюстрировать мой вопрос на примере.
Допустим, у меня есть несколько довольно сложных элементов интерфейса на экране, таких как UITableView
.По сути, эти элементы требуют источника данных и делегата для управления взаимодействием.
Существует два подхода к работе с этим.
У меня может быть тот же самый подкласс UITableViewController
, обрабатывающий все элементы и динамически обрабатывающий вещи, основанные на запросе UITableView
.
Второй подход - иметь «легкие» контроллеры, которые будут управлять каждым отдельным представлением.В iOS 4.x вам не разрешено иметь несколько контроллеров UIViewController, поэтому эти контроллеры больше подходят для управления состоянием и взаимодействием.
Мне не нравится первый подход, потому что он не масштабируется и, кажется,комбинировать вещи.Что, если у меня есть несколько сложных объектов разного типа?
Второй подход кажется лучше.Объекты лучше инкапсулированы - разделение проблем.Единственным недостатком, похоже, является повышенная сложность общения.Облегченные контроллеры должны были бы либо делегировать обратно реальным контроллерам представления, либо они должны были бы иметь указатель на что-то для выполнения реальных действий.
Каков ваш опыт использования любого из этих подходов?Есть ли лучшее решение для разложения сложного интерфейса?
Спасибо