2012-04-06 67 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

回答