Я обычно использую UIViews для создания своих приложений - но в этом я использую навигационный контроллер. Я выдвигаю представление к вершине, где я хочу добавить элементы в массив. Однако я не могу получить доступ к основным методам контроллера навигации и т. Д. Вот настройка
1) AppDelegate добавляет контроллер навигации
[window addSubview:navigationController.view];
2) В RootViewController я толкаю новый UIView
AddNewViewController *addNewViewController = [[AddNewViewController alloc] init];
[self presentModalViewController: addNewViewController animated:YES];
3) Из AddNewViewController я затем хочу получить доступ к основному RootViewController - но, кажется, не могу получить доступ к чему-либо. Все методы и т. Д. Объявлены так, как я это делал раньше (используя UIViews). Этот код не может найти ничего в RootViewController.
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.navigationController myFunction];
У меня есть моя функция в файле RootViewController.h. Я использовал этот метод раньше, но никогда с навигационным контроллером. Я думаю, это как-то связано со стеком hte, но я не могу понять, что я сделал неправильно!
Помощь очень ценится!
* ОБНОВЛЕНИЕ *
Я сейчас использовал
AddNewViewController *addNewViewController = [[AddNewViewController alloc] init];
[self.navigationController pushViewController:addNewViewController animated:YES];
нажать на контроллер вида. В моем коде я пытаюсь получить доступ к табличному представлению, чтобы перезагрузить его с помощью следующего кода
[self.navigationController.mainTableView reloadData];
, но mainTableView не доступен. Я объявил и синхронизировал это, но все еще не могу видеть это. Я также попытался перебрать и использовать элемент [0] стека (как показано ниже), но с этим тоже ничего не получилось!
NSArray *controllers = [[NSArray alloc] initWithObjects:self.navigationController.viewControllers, nil];
UIViewController *tmpController = [[UIViewController alloc] init];
tmpController = [controllers objectAtIndex:0];