所以,我从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,以及我做的方式是否可靠?

咕噜sasa咕噜sasa提问于
名字真难选a梦想成为一个有趣的人回答于
已采纳

使用UINavigationController 的viewControllers属性。示例代码:

// Inside another ViewController
NSArray *viewControllers = self.navigationController.viewControllers;
UIViewController *rootViewController = [viewControllers objectAtIndex:viewControllers.count - 2];

这是获得“后退”视图控制器的标准方式。原因很objectAtIndex:0有效,因为你试图访问的视图控制器也是根视图控制器,如果你在导航中更深入,后视图不会和根视图相同。

回答过的其他问题

腾讯云cdn什么时候内测HSTS 配置?

名字真难选a梦想成为一个有趣的人
我也在期待腾讯云的CDN支持HSTS,不过在支持之前,有一个方法可以近似替代。可以将你网站的首页设置为不缓存,在首页的header中加入no-cache或no-store来禁止首页的缓存,随后在整个网站的header中再加入HSTS的头部。这样的话,因为首页不缓存,所以登录的时候...... 展开详请

深度学习在腾讯云上有哪些应用?

名字真难选a梦想成为一个有趣的人
说说人工智能在语音识别中的应用吧!目前主流的语音识别都大致分为特征提取,声学模型,语音模型几个部分。目前结合神经网络的端到端的声学模型训练方法主要CTC和基于Attention两种。我今天主要讲讲CTC算法。 CTC基本概念 CTC算法全称叫:Connectionist temp...... 展开详请

网卡不小心禁用了怎么办?

名字真难选a梦想成为一个有趣的人

如果你服务器的所有网卡都禁用了,可以通过控制台的VNC方式登录服务器,然后在去去启用网卡。

nginx error: (99: Cannot assign requested address)如何解决?

名字真难选a梦想成为一个有趣的人
使用Amazon EC2和弹性IP,服务器并不像大多数其他服务器那样知道其IP。 所以你需要告诉你的linux允许进程绑定到非本地地址。只需将以下行添加到/etc/sysctl.conf文件中: # allow processes to bind to the non-loca...... 展开详请

曾经用云通信,现在增加想实时音视频功能,应用ID可否公用,是否需要新建应用,accountType 怎么获取?

名字真难选a梦想成为一个有趣的人
你好,sdkappid是可以通用的,公用一个sdkappid,两个应用可以互通。accountType在新建应用的时候会自动生成。 实时音视频是需要新建应用的。在使用实时音视频的时候需要您先了解一下计费,https://cloud.tencent.com/document/pro...... 展开详请

如果我备案了,然后不想用这个服务器了怎么办?

名字真难选a梦想成为一个有趣的人

不想用了就不用呗,如果这个运营商都不用了,可以直接进行注销备案或取消接入。如果换服务IP地址的话,非经营性的可以不专门变更备案,如果是经营性的就需要办理变更备案了。

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券