所以,我从RootViewController中推送一个视图控制器,如下所示:
[self.navigationController pushViewController:anotherViewController animated:YES];
但是,从anotherViewController
现在开始,我想再次访问RootViewController。
我尝试着
//(现在在另一个ViewController中)
/// RootViewController * root =(RootViewController *)self.parentViewController; //不
// 呃
RootViewController * root =(RootViewController *)[self.navigationController.viewControllers objectAtIndex:0]; // YES !! 有用
我不确定为什么这会起作用,我不确定它是否是最好的方式。有人可以评论一种更好的方式来从你推入RootViewController的navigationController的控制器获取RootViewController,以及我做的方式是否可靠?
发布于 2018-03-28 16:08:17
Swift版本:
var rootViewController = self.navigationController?.viewControllers.first
ObjectiveC版本:
UIViewController *rootViewController = [self.navigationController.viewControllers firstObject];
self是UINavigationController中嵌入的UIViewController的一个实例。
https://stackoverflow.com/questions/-100007837
复制相似问题