NSObject类中无法跳转控制器

来源:互联网 发布:java 线程间传递数据 编辑:程序博客网 时间:2024/05/21 09:28

一个继承于NSObject的类用于处理服务器返回的数据,其中当服务器返回某个数值时会执行跳转到登录页面的操作,比如登陆过期,但是发现实际上是无法触发VC跳转的

代码如下:

HROCU_CUPayReimburseViewController *loginVC = [HROCU_CUPayReimburseViewController new];
UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:loginVC];
[topRootViewController presentViewController:navc animated:YES completion:nil];

查阅资料才了解到应该是VC的生命周期执行顺序导致代码无法触发,最后找到解决办法,代码如下:

UIViewController *topRootViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (topRootViewController.presentedViewController)
{
topRootViewController = topRootViewController.presentedViewController;
}
HROCU_CUPayReimburseViewController *loginVC = [HROCU_CUPayReimburseViewController new];
UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:loginVC];
[topRootViewController presentViewController:navc animated:YES completion:nil];

阅读全文
0 0
原创粉丝点击