使用segues和nsnotificationcenter

时间:2012-03-06 01:57:10

标签: iphone objective-c ios xcode nsnotificationcenter

我有2个viewcontrollers,我想从一个发送通知到另一个,并根据通知的名称更改标签(按UIButton)。我刚开始使用segues,发现它们是从一个视图到另一个视图的非常有用的方法。我面临的问题是使用segue(目前的模态),第二个视图控制器没有收到通知。我相信segues在使用时会释放并创建新的视图控制器,但不确定。有没有办法解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

使用prepareForSegue转到segue,并使用委托模式返回。在prepareForSegue内,将原始viewController设置为目标viewController的委托。返回时,让目标viewController为你实现的任何方法调用它的委托(原始viewController)。

答案 1 :(得分:0)

我认为使用NSNotification不是将数据从一个VC传递到另一个VC的正确方法。像Rog所说,使用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";
    } 
}