iOS popViewController 失效

2017-05-16  本文已影响311人  480a52903ce5

iOS7在viewDidLoad中,请求网络数据,(网络请求开辟线程),在请求失败的时候,在主线程中 popViewController。但是怎么也pop不出去。

原因是,网络请求完成的时候,竟然还没有调用-(void) viewDidAppear.也就是界面没有完全加载,导致我直接跳转界面会失败。

解决办法:不要再viewDidLoad中popViewController,在ios8以上勉强可以执行,但是ios7这样执行,界面会卡死,系统会crash。因此尽量不要再viewDidLoad中pop控制器。

我的解决办法是,添加一个标记,在网络请求失败的时候改变标记,ViewDidApper中执行该方法。

- (void)viewDidAppear:(BOOL)animated {

[super viewDidAppear:animated];

if(!isNetWorkError) {

[self.navigationController popViewControllerAnimated:YES];

}

}

上一篇下一篇

猜你喜欢

热点阅读