Как добавить UITableView к одному из нескольких подпредставлений, используя раскадровку

У меня есть один UIViewController с двумя UIViews на нем. На панели навигации при нажатии одной кнопки отображается один из UIViews, а при нажатии другой кнопки отображается другой UIView. Я хочу поместить UITableView в одно из представлений. Однако UITableView требует, чтобы UIViewController использовал UITableViewDelegate и UITableViewDataSource. Реализовав это для моего UIView (подпредставления), содержащего UTTableView, когда я нажимаю кнопку для другого представления, которое не содержит таблицы, я получаю ошибки и приложение квакает.

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

Вопрос 1) Можно ли сделать то, что я описал выше? То есть, если у меня возникла проблема, значит, что-то было неправильно подключено.

Итак, я пошел по пути создания двух отдельных UIViewControllers; по одному на каждый просмотр. Не уверен, что это разумный подход. Сейчас я просто ищу совет о том, как лучше всего это сделать. Спасибо заранее за вашу помощь.

Чтобы быть более ясным о том, что я пытаюсь сделать. Я хочу, чтобы синий вид был помещен там, где розовый вид, когда нажата первая кнопка на панели, и я хочу, чтобы желтый вид был помещен там, где розовый вид, когда нажата вторая кнопка. По сути, розовый вид никогда не будет отображаться и даже может не присутствовать в UtilityViewController.

1 ответ

Решение

Наличие каждого в качестве UIViewController (или его подкласса) - это способ понять, что вы пытаетесь сделать. UITabBarController уже делает это: https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html

Другие вопросы по тегам