У меня есть таблица, в которой хранятся некоторые данные. Предположим, что данные слишком велики для загрузки в память сразу. Я хочу показать эти данные в UItableView.UItableView с огромным набором данных MagicalRecord
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [Item MR_numberOfEntities];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// How to get object for this row ???
return cell;
}
Единственный способ я знал, это загрузить все данные в массив с
NSArray *items = [Item MR_findAll];
Но я не хочу, чтобы сделать это. Пользователю будут показаны первые 10 строк, и почему я должен загружать их из CoreData. Есть ли способ получить их один за другим с помощью MagicalRecord?
Этого ответа старого (и MagicalRecord измененных много с тех пор), но вы можете поставить fetchLimit с пользовательской выборкой: https://github.com/magicalpanda/MagicalRecord/issues/283 – Larme
@Yegor Razumovsky Обновлен мой ответ в соответствии с вашими требованиями! – ProblemSlover
Если вы не можете использовать 'NSFetchedResultsController' с MR, я предлагаю сбросить MR. – Avi