Несколько UITableViews как вложенные представления - PullRequest
0 голосов
/ 20 июня 2011

Я работаю над небольшим приложением, чтобы овладеть Objective-C и UIKit.Моя заявка должна просто отображать меню для каждого дня недели, которые обслуживаются в отдельных столовых в моем университете.


У меня есть представление, содержащее UIToolbar, которое само содержит UISegmentedControl для переключения междудней.Оставшееся пространство экрана должно использоваться для табличного представления, отображающего блюда, которые подают в одной столовой в определенный день недели.Теперь, как мне это сделать?

У меня есть Canteen, который имеет 5 Menus (по одному на каждый день), и каждый из этих Menus содержит произвольное число Dishes.Бизнес-логика на самом деле работает совершенно нормально.

Как мне связать свои взгляды с моей бизнес-логикой.По моему мнению, есть три возможных пути, и я не знаю, какой из них выбрать:

  1. Мой CanteenController - которому принадлежит упомянутый выше UIToolbar - делает все.Он реализует протоколы, необходимые для управления UITableView, и владеет UITableView, который отображает блюда.

  2. У меня есть MenuController, который использует CanteenController 's UITableView - так что UITableView распределяется между 5 MenuControllers.

  3. У меня есть 5 MenuControllers, которые имеют свои собственные UITableViews, и каждый раз, когда я переключаюсь между днямиЯ заменяю текущий UITableView моего CanteenController на правильный.

Существует ли такая вещь, как правильное решение этой проблемы?Я думаю, что все эти решения должны работать, но, возможно, я бы предпочел одно из них.

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

1 - мой выбор и перезагрузка данных таблицы при выборе нового элемента панели инструментов.это позволяет использовать меньше памяти, что является условным условием при просмотре документации Apple ... Не используйте больше памяти, чем нужно. "

2 - для меня не имеет смысла

3 - я думаю, что лучше будет работать с TabBarController, который автоматически выполняет переключение между вами для каждого контроллера представления. **

0 голосов
/ 20 июня 2011

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

[UIView animateWithDuration:0.5 animations:^{ /*show new top view by setting alpha from 0 to 1 and bring it to the front*/ }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...