Я пишу довольно сложное приложение для iPad - мое первое более крупное.
Это приложение имеет несколько пользовательских UIViews, которые представляют довольно сложные данные, включая таблицу.Эти представления не занимают весь экран, и их может быть (и, скорее всего, будет) много на экране в любое время (хотя только один будет в «развернутом» состоянии, в котором показана таблица).
Вот базовый пример, который должен передать основной принцип:
Обратите внимание, что эти вещи не должны быть в поповерах;вместо этого FamilyViews расширяются, чтобы показать их подробные данные.(И, пожалуйста, обратите внимание, что этот макет был создан только ради этого вопроса и имеет мало общего с тем, как будет выглядеть мой интерфейс; я знаю, что это не очень хороший дизайн экрана)
IЯ не знаю, кого поставить в качестве делегата и источника данных для этих пользовательских представлений:
- Создание ViewController для текущего делегата экрана и источника данных нелегально, потому что этоне только одна таблица, которая является частью основного представления VC.
- Создание самого View делегата и источника данных кажется мне немного странным, потому что мне кажется, что роль представления слишком активна;превращение его в полуконтроллер.
- превращение базового объекта модели в источник данных кажется слишком тесно связанным, что также нарушает MVC.И это не отвечает на вопрос, кто должен быть делегатом.
Я стремлюсь сделать каждый из этих «FamilyViews» делегатом и источником данных для своих собственных таблиц.Действие в этих таблицах должно быть связано с делегатом FamilyView (ViewController), но это не должно быть проблемой, не так ли?
У кого-нибудь есть какие-то комментарии по этому поводу?