天天看点

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

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.