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.
时间: 2024-09-27 04:13:38