Как управлять представлением с различными UITableViewControllers на основе выбора родительской таблицы - PullRequest
1 голос
/ 04 февраля 2011

У меня есть приложение Split-View для iPad, и я исправил выбор в поповере (RootViewController), чтобы он был статическим, скажем, красным, желтым и синим. Когда мое приложение запускается, я предварительно выделил красный или верхний статический текст в ячейке. Мне удалось добавить UITableViewDelegate и UITableViewDataSource с другими шаблонами в DetailViewController. Это приложение с разделенным видом по умолчанию для popover-no-popover.

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

  • Стоит ли просто добавить шаблоны делегатов и источников данных в DetailViewController и переключать данные на основе выбора в представлении RootViewController?

  • Или мой шаблон с несколькими контроллерами был бы лучше?

Я хотел бы получить некоторую помощь в том, как заставить внешний контроллер контролировать UITableView DetailViewController. В DetailViewController я создаю экземпляр кнопки «Добавить» и тому подобное на панели инструментов. Например. Когда я добавил единственный (красный) тестовый контроллер в DetailViewController, любое соединение с TableView не было автоматическим в IB. Вы можете навести курсор, и тогда он в конечном итоге подключится к «View» (в конечном итоге к UITableView). Я попробовал все, и я не могу получить простой контроллер делегата и источника данных с простым NSArray, чтобы заполнить табличное представление DetailViewController из didSelectRowAtIndexPath RootViewController. Этот метод работает, потому что я отладил и NSLogged выбор. Я неправильно создаю свой ProjectViewController (тестовый или первый статический текст в RootViewController). Я вставлю код, который я тоже здесь пробовал.

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    // select static row and view controller
    Punch *obj = [self.punchList punchAtIndex:indexPath.row];
    NSLog(@"Selected punch object: %@", obj.name);

    ProjectViewController *projectViewController = [[UITableViewController alloc] init];
    [projectViewController tableView:detailViewController.tmpView];
}

Код ProjectViewController работает, если он жестко запрограммирован в DetailViewController, то есть необходимые методы, количество и загруженные массивы ячеек и я хочу, чтобы эта совокупность данных была в отдельных контроллерах, потому что я собираюсь использовать Core-Data в конце .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...