现在的位置: 首页 > 综合 > 正文

将ios代码在后台(子线程)执行的两种简单方式

2018年05月08日 ⁄ 综合 ⁄ 共 494字 ⁄ 字号 评论关闭

a.使用gcd

   //切换到线程中执行
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                // Do the work in background
                [[MyManager shareInstance] myMethod];
            });

b.使用performSelectorInBackground方法

               [self performSelectorInBackground:@selector(myMethod:)
                                                              withObject:myObj];

对应的原始方法:- (void)myMethod:(id)myObj;

其中方式a适应性强,使用方便,唯一可能是缺点的地方就是使用了gcd+block,代码看上去略长,不过习惯了这种语法也不是什么问题,推荐方式a.

抱歉!评论已关闭.