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