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を使用しない場合、それは動作します。何が問題なの?
ありがとうございました。私は完全に失われている! :
を見ても、いくつかのサンプルコードについては
は、あなたが解析中に充填されていますか?これはオブジェクトのプロパティですか?たぶん解析はその時点では行われていないかもしれません、あなたは配列にアクセスします。 –