码迷,mamicode.com
首页 > 其他好文 > 详细

GCD高级编程例子

时间:2014-11-11 19:10:18      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:style   io   color   ar   sp   div   on   问题   代码   

两种方法,实现一件事情做完,再做另外一件事情。 

1、

dispatch_async(dispatch_get_main_queue(), ^{

[self.navigationController popToRootViewControllerAnimated:NO];

});

            

dispatch_barrier_async(dispatch_get_main_queue(), ^{

[[[AppDelegate getDelegatetabbarControllersetSelectedIndex:0];

});

 

2、

dispatch_group_t group =dispatch_group_create();

            

dispatch_group_async(group, dispatch_get_main_queue(), ^{

[self.navigationControllerpopToRootViewControllerAnimated:NO];

});

            

dispatch_group_notify(group, dispatch_get_main_queue(), ^{

[[[AppDelegategetDelegate] tabbarController]setSelectedIndex:0];

});


出现问题的代码如下:

[self.navigationController popToRootViewControllerAnimated:NO];

[[[AppDelegate getDelegatetabbarControllersetSelectedIndex:0];

由于导航控制器里面的子控制器比较多,第一句话执行的时间比较长,当第二句执行完时,第一句还没有执行完。导致再次切换tabbarController时出现崩溃的现象。

GCD高级编程例子

标签:style   io   color   ar   sp   div   on   问题   代码   

原文地址:http://blog.csdn.net/winsdom123456/article/details/41014561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!