Использование segues и nsnotificationcenter - PullRequest
0 голосов
/ 06 марта 2012

У меня есть 2 viewcontrollers, и я хочу отправить уведомление от одного к другому, и метка изменилась в зависимости от имени уведомления (нажатие кнопки UIB).Я только начал использовать сегы и обнаружил, что это очень полезный способ перехода от одного представления к другому.Проблема, с которой я сталкиваюсь, заключается в том, что при использовании segue (модального в данный момент) контроллер второго представления не получает уведомление.Я считаю, что Segues выпускают и создают новые контроллеры представления при использовании, не уверен.Есть ли способ обойти это?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

Я думаю, что использование NSNotification не является правильным методом для передачи данных из одного VC в другой. Как сказал Рог, используйте prepareForSegue и используйте свойство в целевом VC:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Always check to make sure you are handling the right Segue
    if ([segue.identifier isEqualToString:@"mySegue"]) {
         MyOtherViewController *movc = segue.destinationViewController;
         movc.myProperty = @"MyValue";
    } 
}
0 голосов
/ 06 марта 2012

Используйте prepareForSegue для перехода к переходу и используйте шаблон делегата для возвращения.В prepareForSegue установите исходный viewController в качестве делегата целевого viewController.При возврате вызовите, чтобы целевой viewController вызвал его делегат (исходный viewController) для любого реализуемого вами метода.

...