NSURLConnection with delegate vs initWithContentsOfURL:with Grand Central Dispatch

时间:2011-01-04 14:10:21

标签: iphone objective-c multithreading nsurlconnection grand-central-dispatch

我正在编写一个从互联网上下载大量JSON数据的应用程序。我的应用程序需要解析此JSON数据,然后将检索到的对象返回给自制的委托。

现在我想知道我是否可以更好地使用NSURLConnection或Grand Central Dispatch dispatch_asyncinitWithContentsOfURL:的组合(使用GCD防止挂起)。

使用Grand Central Dispatch 很多更容易实现,特别是因为我不需要委托或NSMutableData,也不需要临时使用的所有其他变量。但当然,与专业人士的一切都有其缺点。

NSURLConnection与GCD相比initWithContentsOfURL有什么优势?

1 个答案:

答案 0 :(得分:4)

  1. 您可以定位iOS 3.x。
  2. 您可以使用自定义的NSURLRequest,例如,询问HTTP POST的结果 - NSData工厂仅在传递HTTP URL时执行基本GET。
  3. 您可以使用NSURLConnection代表跟踪下载进度。
  4. 这就是我的头脑。 :)