Это на iOS.Ускорение загрузки основных данных
У меня есть база данных ядра с около 350 000 объектов. Объекты (Продукт) имеют два свойства: «Штрих-код» и «Обозначение». Пользователь может искать объект, ища «Штрих-код», и «Обозначение» должно быть возвращено. Все работает нормально, за исключением медленных. Код, который я использую:
NSEntityDescription *_product = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:importContext];
NSFetchRequest *fetch = [[NSFetchRequest alloc]init];
[fetch setEntity:_product];
[fetch setPredicate:[NSPredicate predicateWithFormat:@"Barcode == %@",theBarcode]];
NSError *error = nil;
NSArray *results = [importContext executeFetchRequest:fetch error:&error];
NSManagedObject *object = [results objectAtIndex:0];
Так как я только хочу, чтобы принести один объект, есть способ ускорить его?
Если я загружаю каждый объект в массив при запуске, я получаю очень медленный запуск приложения и занимающий много оперативной памяти.
Заранее благодарен!
EDIT: Я добавил [fetch setFetchLimit: 1]; которые ускоряют его немного. Но скорость становится все медленнее в базе данных объекта.
просто хочу спросить (может быть, это поможет), почему вы загружаете все данные в массив при каждом запуске? – shannoga
Я этого не делаю. Но я сказал, что если я это сделаю, то у меня будет медленный запуск :) – Mikael