NSURLConnection在后台线程

时间:2013-07-22 12:30:48

标签: multithreading background nsurlconnection nsoperation

我想在后台线程中异步加载某些东西(大)(与NSOperation一起使用)。

经过多次搜索后,我遇到了两个选择: 第一个用于:

CFRunLoopRun()

在这个链接中解释很好: http://www.russellj.co.uk/blog/2011/07/09/nsurlconnection-in-a-background-thread/

第二个用于:

NSPort* port = [NSPort port];
NSRunLoop* rl = [NSRunLoop currentRunLoop]; // Get the runloop
rl addPort:port forMode:NSDefaultRunLoopMode];

在这个链接中说明好: http://www.cocoaintheshell.com/2011/04/nsurlconnection-synchronous-asynchronous/

我真的想要使用第一个选项,因为它非常优雅和可读性。但我担心我并不真正理解这两种方法之间的差异。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果符合您的需要,我建议使用以下内置方法。它易于使用且可靠。

  • (void)sendAsynchronousRequest:(NSURLRequest *)请求队列:(NSOperationQueue )队列completionHandler:(void(^)(NSURLResponse ,NSData *,NSError *))处理程序
相关问题