停止NSRunLoop [英] Stop an NSRunLoop

查看:212
本文介绍了停止NSRunLoop的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个线程中有一个连接,因此我将其添加到运行循环以获取所有数据:

  [[ NSRunLoop currentRunLoop] run]; 
[connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

但我找不到任何方法阻止它

   - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if([NSRunLoop currentRunLoop]){
[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self ];
}
[connection cancel];
}

如何停止此循环?


<您可以通过Core Fundation API停止runloop:

  CFRunLoopStop(CFRunLoopGetCurrent()); 


I have a connection in a thread, so I add it to the run loop to get all data:

  [[NSRunLoop currentRunLoop] run];
  [connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

But I can't find any way to stop it

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
    if([NSRunLoop currentRunLoop]){
        [[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self];
    }
    [connection cancel];
}

How can I stop this loop?

解决方案

You can stop the runloop by Core Fundation API :

CFRunLoopStop(CFRunLoopGetCurrent());

这篇关于停止NSRunLoop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆