0

我正在做一个应用程序,它通过对网站的请求下载信息,给我返回 HTML 并解析这些数据,我获得了我的应用程序信息。为了下载我正在使用的这些数据,使用带有请求最后需要的所有参数的 url。

NSData *data = [NSData dataWithContentsOfURL:url];

NSString* htmlString;
htmlString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
[self parserHTML:htmlString];  // here I fill a NSArray with the info parsed
[self searchSomething:htmlString];  // continue filling the NSArray

...

下载数据和解析 HTML 的任务需要很长时间。

我能做些什么来加快速度?中央大调度?如果是这样,我该如何使用它,因为我正在使用它并且它不起作用,因为 NSSArray 是空的:

dispatch_queue_t downloadQueue = dispatch_queue_create("pharmacy downloader", NULL);
dispatch_async(downloadQueue, ^{ 
    NSData *data = [NSData dataWithContentsOfURL:urlReal];

    NSString* htmlString;
    htmlString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
    [self parserHTML:htmlString];  // here I fill a NSArray with the info parsed
    [self searchSomething:htmlString];  // continue filling the NSArray
});
dispatch_release(downloadQueue);

如果我不使用 GCD,它可以工作。可能是什么问题?

谢谢你的帮助。我彻底迷路了!!!:S

4

1 回答 1

0

请改用NSURLDownloadNSURLConnection

对于一些示例代码,您可以查看QuickLookDownloader

于 2012-04-06T10:50:53.417 回答