У меня вопрос о наилучшей практике при загрузке данных с использованием NSOperation. В настоящее время я использую NSOperationQueue для выполнения нескольких запросов на данные JSON на удаленном сервере. Когда данные поступают, я разбиваю их на один большой NSDictionary и использую для циклов, чтобы разобрать его и загрузить данные в NSMutableDictionaries, прежде чем я перейду к следующему запросу. Мой вопрос заключается в том, что я повторяю эту последовательность раз много раз снова и снова, и мне интересно, было бы лучше всего просто загрузить данные и после завершения загрузки, затем проанализировать мой JSON в нужные словари , может быть, есть лучший способ сделать это, о котором я просто не думаю? Я проверил общие ассигнования с помощью инструментов, и это похоже на то, что я набираю около 30 МБ во время этого процесса.NSOperation Data Parsing Best Practice
Поблагодарили бы за любые советы по этому вопросу.
Вот небольшой пример кода 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];
}
}
Привет, GorillaPatch, похоже, что большая часть моей памяти была заполнена циклами, которые я запускал, которые могли быть продуманы немного больше, чтобы уменьшить количество итераций. С тех пор я сократил память до менее чем одной трети от того, что было. Как CoreData сравнивается с NSDictionaries? Является ли CoreData структурой таблицы, подобной базе данных? – AgnosticDev