Пользовательский UIView как делегат и источник данных UITableView?

Я пишу довольно сложное приложение для iPad - мое первое более крупное приложение.

В этом приложении есть несколько настраиваемых UIViews, которые представляют довольно сложные данные, включая таблицу. Эти представления не занимают весь экран, и их может (и, вероятно, будет) много из них на экране в любое время (хотя только одно будет в "развернутом" состоянии, где отображается таблица).

базовый пример, который должен передать основной принцип: Made with the nice Antetype prototyping app

Обратите внимание, что эти вещи не должны быть в всплывающих окнах; вместо этого FamilyViews расширяются, чтобы показать их подробные данные. (И обратите внимание, что этот макет был создан только для ответа на этот вопрос и имеет мало общего с тем, как будет выглядеть мой интерфейс; я знаю, что это плохой дизайн экрана)

Я не решил, кому поставить в качестве делегата и источника данных для этих настраиваемых представлений:

  • Создание ViewController для текущего делегата экрана и источника данных неэлегантно, потому что это не просто одна таблица, которая является частью основного представления VC.
  • Делать View делегатом и источником данных кажется мне немного странным, потому что мне кажется, что вьюшке слишком активна роль; превращение его в полуконтроллер.
  • Создание базового объекта модели источником данных кажется слишком тесно связанным, а также нарушает работу MVC. И это не отвечает на вопрос, кто должен быть делегатом.

Я склоняюсь к тому, чтобы каждый из этих «FamilyViews» делегировал и источник данных для своих собственных таблиц. Действия с этими таблицами должны быть связаны с делегатом FamilyView (ViewController), но это не должно быть проблемой, не так ли?

У кого-нибудь есть какие-то данные по этому поводу?

7
задан fzwo 24 June 2011 в 12:30
поделиться