в PrimaryViewController.h У меня есть IBOutlet
, прикрепленный к таблице, которую я добавил в .xib-файле
IBOutlet UITableView *table;
в PrimaryViewController.m Я создаю новый tableController из моегоКласс TableDataController и присоединение его к таблице
tableController = [[TableDataController alloc] initWithStyle:UITableViewStylePlain];
//Attach the table controller as datasource and delegate to the table
[table setDelegate:tableController];
[table setDataSource:tableController];
Теперь все данные в таблице поступают из tableController.Поскольку PrimaryViewController является классом, который помещается в стек навигационного контроллера, а не в класс TableDataController;использование:
[self.navigationController pushViewController:newViewController];
в tableController ничего не дает, так как tableController не имеет navigationController . PrimaryViewController может использовать navigationController .
. Я хочу использовать функцию didSelectRowAtIndexPath:
в TableDataController, чтобы выдвинуть новое представлениеконтроллер в стек PrimaryViewController.
Обратите внимание: я не могу #import "ParimaryViewController.h"
в свой TableDataController.h, поэтому я могу отправить его ( PrimaryViewController ) объект - тогда они будут перекрестноимпортируя друг друга, создавая семантическую ошибку.
PrimaryViewController - это обычный класс, который расширяет класс UIViewController с помощью .xib ничего особенного.TableDataController - это обычный класс, который расширяет класс UITableViewController с помощью нет .xib файла.