2015-11-07 5 views
1

Как я должен реализовать таблицу view- архитектуры источника данных для моего следующего сценария:Два вида просмотра контроллеры с видом таблицы внутри зрения прокрутки

  • два просмотреть контроллеры каждый из них содержит свой собственный вид таблицы.
  • вид таблицы клетка является одинаковым
  • другого источника данных (один должны показать имена, другие города)
  • вида контроллеры внутри горизонтальной Scrollview
  • данные может быть передан от table1 к table2

Моя проблема заключается в том, что я не знаю, как лучше всего представлять представления таблиц.

  • Должен ли я иметь один контроллер вида с одним табличным видом и другим источником данных?
  • два вида контроллеров с двумя видами таблиц?

У кого-нибудь есть хорошее решение для меня?
Я пробовал много решений, но моя проблема всегда в том, что у меня нет способа передавать данные от одного к другому, потому что я не могу получить доступ к источнику данных или при использовании протоколов, делегат был нулевым.

+0

Какова структура структуры view? Может ли один диспетчер управления нажать другой, используя, скажем, UINavigationController? – Lneuner

ответ

1

У вас обязательно должен быть только один Tableview и один контроллер вида (если возможно) с двумя различными источниками данных. Одно из основных правил программирования - никогда не повторять себя.

Скажите, что вы 2 просмотртора A и B. A и B будут экземплярами одного и того же класса ViewController, например. A = SomeViewController() и B = SomeViewController(). В viewDidLoad вы можете указать, какой источник данных использовать.

Если у вас возникли проблемы передачи данных из ViewController А в ViewController B, вы можете создать публичные методы класса SomeViewController, которые будут добавлять объекты к источнику данных (например addCityToDatasource :)

Тогда, например, если вы хотите город от B до A, в viewController B вы вызываете A.addCityToDataSource («Токио»), который добавит город к источнику данных A

+0

Я до сих пор не знаю, как данные передачи должны работать. Поэтому я создаю этот 2 VC и добавил их для просмотра прокрутки из другого VC. Поэтому я создам 2 экземпляра: nameVC и citiesVC, но оба они используют один и тот же контроллер представления. Поэтому внутри контроллера представления у меня нет двух экземпляров, созданных ... Своеобразно смущает меня, что надо работать, как все должно работать. Можете ли вы привести пример, если его не так много спросить? – Kobe

+0

Несомненно, никаких проблем. Не могли бы вы рассказать мне немного больше о вашем случае использования? – Lneuner

+0

Все в порядке, я понимаю, что вы сказали и сумел это исправить. Благодарю. – Kobe

Смежные вопросы