停止NSRunLoop

时间:2013-04-25 10:05:37

标签: cocoa cocoa-touch nsurlconnection nsrunloop cfrunloop

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

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

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

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

如何停止此循环?

1 个答案:

答案 0 :(得分:15)

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

CFRunLoopStop(CFRunLoopGetCurrent());