2012-04-06 8 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を使用しない場合、それは動作します。何が問題なの?

ありがとうございました。私は完全に失われている! :

+0

を見ても、いくつかのサンプルコードについては

は、あなたが解析中に充填されていますか?これはオブジェクトのプロパティですか?たぶん解析はその時点では行われていないかもしれません、あなたは配列にアクセスします。 –

答えて

関連する問題