в PrimaryViewController.h У меня есть IBOutlet
прикрепленный к столу я добавил в файл .xibИспользование pushViewController на отдельном табличном делегата
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 с no .xib-файл.
Спасибо Josh, Я только что попытался это сделать, и у меня все еще есть некоторые проблемы. Разве нет другого способа сделать то, что я пытаюсь сделать i.e использовать pushViewController из другого класса? Это должно быть что-то, что было сделано до того, как я подумаю. – hishamaus
Чрезвычайно сложно сказать, если у вас нет дополнительной информации в вашем вопросе. Какие именно проблемы? Основная проблема, которую я вижу, заключается в следующем: как ваш «TableDataController» получает ссылку на контроллер представления в первую очередь? Где он создан? В xib или в коде? Можете ли вы изменить свой вопрос, чтобы включить здесь немного больше о структуре? –
Я только что редактировал вопрос. Спасибо за вашу помощь. – hishamaus