NSOperation を使用してデータをダウンロードする際のベスト プラクティスについて質問があります。現在、NSOperationQueue を使用して、リモート サーバー上の JSON データに対して複数の要求を行っています。データが入ってきたら、それを 1 つの大きな NSDictionary に分割し、for ループを使用してデータを解析し、データを NSMutableDictionaries にロードしてから、次のリクエストに進みます。私の質問は、この同じシーケンスを何度も何度も実行していることです。データをダウンロードし、すべてのダウンロードが完了したら、JSON を必要な辞書に解析する方がよいのではないかと考えています。 、おそらく私が考えていない、これを行うためのより良い方法がありますか?インストゥルメントを使用して割り当ての合計を確認したところ、このプロセス中に約 30 MB が蓄積されているようです。
この件に関するアドバイスをいただければ幸いです。
これは NSOperation コードの小さなサンプルです
plantPackKeys = [NSMutableDictionary dictionaryWithDictionary:data];
queueTwo = [NSOperationQueue new];
[queueTwo setMaxConcurrentOperationCount:4];
for(id key in data){
@autoreleasepool {
urlKey = @"";
urlKey = [data objectForKey:key];
DownloadOperation *downLoad = [[DownloadOperation alloc] initWithURL:[NSURL URLWithString:urlKey]];
[downLoad addObserver:self forKeyPath:@"isFinished" options:NSKeyValueObservingOptionNew context:NULL];
[queueTwo addOperation:downLoad];
}
}