我在Objective C中有点弱我承认,我的最终目标是将数据从ViewController3传递回ViewController1。事实上,这部分已经完成并取得成功。但是,当调用[self.navigationController popToRootViewControllerAnimated:YES]时,我得到EXC_BAD_ACCESS。使用委托时弹出ViewControllers
ViewController1 <ViewController2Delegate>
- (void) didAddEventLocation:(Event *)event {
NSLog(@"Event name = %@", event.name); //Shows name successfully
}
ViewController2 <ViewController3Delegate>
- (void) didAddEvent:(Event *)event {
[self.delegate didAddEventLocation:event];
}
ViewController3
[self.delegate didAddEvent:event];
[self.navigationController popToRootViewControllerAnimated:YES];
对不起格式错误的代码,只是想简化。做[self.navigationController popViewControllerAnimated:YES]没有问题,但它只需要我ViewController2。我知道我在这里做了一些非常错误的事情,但是我不知道如何解决它。如果我需要澄清,请告诉我。
你肯定'[self.delegate didAddEventLocation:eventTmp]'是正确的,因为参数是'event'? –
是的,很抱歉..当我复制/粘贴我的代码时发生错字。现在编辑。 – xhermit