一个继承于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];