Делегирование от View Controller через Navigation Controller к контроллеру страниц - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть контроллер представления страницы, содержащий два контроллера навигации, которые встраивают контроллеры представления.

enter image description here

Можно ли передавать данные непосредственно изПросмотр контроллера для контроллера просмотра страниц.Я хочу использовать шаблон делегирования, но я думаю, что тогда я должен сначала делегировать контроллеру навигации, который снова делегирует контроллеру просмотра страницы.Кто-нибудь знает менее сложное решение?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

В viewDidLoad из вашего "PageViewController" добавьте

- (void)viewDidLoad {
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(FooBar) name:@"FooBar" object:nil]; 
}

- (void) FooBar { 
NSLog(@"Foo"); 
};

Затем вызовите из "ViewController"

[[NSNotificationCenter defaultCenter] postNotificationName:@"FooBar" object:nil];
0 голосов
/ 04 февраля 2019

Не думаю, что здесь разумно использовать протоколы, вы слишком углубляетесь, разве нельзя использовать уведомления?

По вашему мнению, это должно вызывать функцию делегата:

NotificationCenter.default.post(name: Notification.Name("yourNotification"), object: your object)

Тогда на вашей странице ViewController viewDidLoad:

NotificationCenter.default.addObserver(self, selector: #selector(yourFuncName), name: NSNotification.Name("yourNotification"), object: nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...