ios 将一个函数在主线程执行的4种方法

Posted 可爱的娃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 将一个函数在主线程执行的4种方法相关的知识,希望对你有一定的参考价值。

  • GCD方法,通过向主线程队列发送一个block块,使block里的方法可以在主线程中执行。
dispatch_async(dispatch_get_main_queue(), ^{  //需要执行的方法 });
  • NSOperation 方法
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];  //主队列NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ //需要执行的方法 }]; [mainQueue addOperation:operation];
  • NSThread 方法
[self performSelector:@selector(method) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES modes:nil]; [self performSelectorOnMainThread:@selector(method) withObject:nil waitUntilDone:YES]; [[NSThread mainThread] performSelector:@selector(method) withObject:nil];
  • RunLoop方法
[[NSRunLoop mainRunLoop] performSelector:@selector(method) withObject:nil];

以上是关于ios 将一个函数在主线程执行的4种方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 确保在主线程上执行[重复]

从 boost 线程在主线程上运行一个函数并将参数传递给该函数

在后台线程执行硬任务,在主线程返回结果

iOS 中 延迟操作四种方式

为啥我的 AsyncTask 在主线程上运行?

socket通讯IOCP模型