Joh*_*ler 15 cocoa objective-c
在Objective-C中,获取对当前UINavigationController的引用的最佳方法是什么?我想从任何可能没有引用UIController,委托或其他任何类的类中获取它.
是否有现有的方法来获取当前的UINavigationController?我应该向我的应用程序委托添加一些内容,并检索它吗?
Cod*_*aFi 33
事实证明,你可以从任何UIView/UIViewController后代获得它,尽管有相当多的点语法.
self.(view).window.rootViewController.navigationController;
Run Code Online (Sandbox Code Playgroud)
如果您使用的是从任何其他类继承的对象,则情况也是如此,除非您必须通过 UIApplication
[UIApplication sharedApplication].keyWindow.rootViewController.navigationController;
Run Code Online (Sandbox Code Playgroud)
当然,这两者都会大大打破MVC,并且绝对建议将必须触摸"默认导航控制器"的任何逻辑添加到根视图控制器中.