iOS popViewController 失效

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];

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容