2012-04-06 70 views
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

+0

你在哪里定义数组一些示例代码,您在解析过程中填充?这是对象的属性吗?也许解析没有完成,你访问数组。 – 2012-04-10 08:54:14

回答