NSOperation을 사용하여 데이터를 다운로드하는 모범 사례에 대한 질문이 있습니다. 현재 NSOperationQueue를 사용하여 원격 서버에서 JSON 데이터에 대한 여러 요청을합니다. 데이터가 들어올 때 하나의 큰 NSDictionary로 나누어서 루프를 사용하여 구문 분석하고 NSMutableDictionaries에 데이터를로드 한 후 다음 요청을 진행합니다. 내 질문은이 동일한 순서를 여러 번 반복해서 수행하고 데이터를 다운로드하고 다운로드가 완료된 후 더 나은 아이디어가 필요한지 궁금해서 JSON을 필요한 사전으로 구문 분석합니다. , 어쩌면 거기에 내가 생각할 수없는 더 좋은 방법이 있을까요? 악기를 사용하여 총 할당을 확인한 결과,이 과정에서 약 30MB의 용량이 채워지는 것처럼 보입니다.NSOperation 데이터 파싱 우수 사례
이 문제에 대한 조언을 주시면 감사하겠습니다. 여기
객체가 메모리의 양을 소비하는 알 흥미로운 일이 될 것이다 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, 내 기억이 많이 반복되는 횟수를 줄이기 위해 조금 더 생각할 수있는 실행중인 루프에 의해 채워지고있는 것 같습니다. 나는 그 이후로 그 기억을 3 분의 1도 안되게 줄였습니다. CoreData는 NSDictionaries와 어떻게 비교됩니까? CoreData는 데이터베이스와 같은 테이블 구조입니까? – AgnosticDev