2015-04-21 3 views
0

У меня есть tableView, который мне нужно обновить. Как объясняется в другом вопросе здесь: Swift updating UITableView with new dataБыстрый доступ к функции viewController через UITabBarController

Во всяком случае. Правильный ответ оказался совершенно не связанным с моим оригинальным вопросом, и мне предложили задать еще один вопрос о том, как вызвать функцию для конкретного диспетчера viewController, который мне нужно вызвать.

Вот моя настройка контроллера.

NavigationController 
    ContainerViewController. (2 childViewControllers) 
     menuTabBarController (this is a UITabBarController) 
     SuggestionsViewController (This is the viewController I need to run a function from) 
     ... 
     SideBarViewController 

ViewController, который имеет UITableView является suggestionsViewController.

ViewController Мне нужно запустить функцию из SideBarViewController.

Функция Я пытаюсь позвонить называется loadSuggestions()

Моя первая попытка была, конечно, просто работает:

SuggestionsViewController().loadSuggestions() 

Однако, как объяснено в моей другой вопрос. Это создает новый экземпляр этого, а не работает loadSuggestions() на ViewController, где я хочу, чтобы обновить UITableView

Пользователь (rdelmar), который помог вывести проблему, почему UITableView не был обновлен, указал мне в/вправо/вправо, и я получил следующий код:

(menuTabBarController.viewControllers as! [UIViewController])[0] 

Тем не менее. Моя текущая проблема заключается в том, что я не могу получить доступ к loadSuggestions() из этого

So. Вкратце. Мне нужно обновить свой UITableView, используя функцию loadSuggestions(), когда я нажимаю кнопку в моем выдвижном меню.

Как это можно сделать?

ответ

2

Если (menuTabBarController.viewControllers as! [UIViewController])[0] является правильным контроллером просмотра, вы можете сделать это as SuggestionsViewController, и вы сможете вызвать метод, если это не частный метод.

Вы не можете вызвать метод с тем, что у вас есть, потому что вы получаете массив из UIViewController, а UIViewController не имеет метода loadSuggestions.

+0

Это сработало отлично! Огромное спасибо. Был в течение нескольких дней. Массовая помощь. Не могу принять его еще на 3 минуты. Спасибо!!!!! –

+0

Рад помочь :) –

Смежные вопросы