问题
我正在开发一个iOS应用程序,我有 3 个连续ViewControllers:
TableViewController--> DetailViewController-->ImageViewController
我用一个按钮(只需控制拖动Storyboard)执行 de forward Segue 并返回我有一个自定义的后退按钮
[self.navigationController popViewControllerAnimated:YES];
要转发数据,我使用
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[segue.destinationViewController someFunction];
}
要将数据发送给ViewController我可以在 中使用prepareForSegue的父级DetailViewController,但它在 中不起作用,ImageViewController我必须使用Notifications.
如果我prepareForSegue用来发送数据可以popViewControllerAnimated吗?
我应该在这两种情况下都使用通知吗?
一些代码
我有DetailViewController一个按钮,它执行 Segue 到 ImageViewController (只是控制拖动Storyboard)和一个后退按钮:
- (IBAction)backAction:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
然后是函数:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"forwardSegue"]) {
[segue.destinationViewController someFuntionToImageViewController];
} else {
[segue.destinationViewController someFuntionToParentViewController];
}
}
我注意到我无法为popViewController操作分配 segue.identifier。