Я новичок в Realm, и я уже видел этот ответ об ограничении запросов области (во многих других местах слишком).
Моя проблема в том, что следующий код слишком долго загружает данные в массив, когда объем данных становится большим:
RLMResults* rlm = [[Item class] objectsWithPredicate:predicate]; // this loads fast
NSArray* results = [rlm valueForKey:@"self"]; // this is slow
насколько я знаю, я не могу ограничить результаты с помощью предиката, поэтому я пытаюсь ограничить результаты, например этот пример на веб-сайте сферы следующим образом:
RLMResults* rlm = [[Item class] objectsWithPredicate:predicate]; // this loads fast
NSMutableArray* results = [@[] mutableCopy];
for (NSInteger i = 0; i < 5; i++) {
Item* item = rlm[i]; // only the first call (when i == 0) is slow here
[results addObject:item];
}
так что интересно здесь то, что только первый вызов rlm[i] (rlm[0]) занимает много времени, а затем (когда i > 0) вызов работает быстро.
Я делаю что-то неправильно? или есть ли способ ускорить загрузку большого объема данных или ограничить результаты?
Большое спасибо!