2013-07-22 52 views
1

我想在後臺線程中加載一些東西(大)(與NSOperation一起使用)。NSURLConnection在後臺線程

許多搜索後,我遇到了兩個選項: 首先是與使用:

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

我會推薦以下內置方法,如果它適合您的需求。它易於使用且可靠。

  • (無效)sendAsynchronousRequest:(的NSURLRequest *)請求隊列:(NSOperationQueue )隊列completionHandler:(無效(^)(NSURLResponse,NSData的*,NSError *))的處理程序