2013-08-13 4 views
0

У меня есть UITableview с разделами.Количество строк в UITableview с разделами

Разделы обрабатываются NSFetchResultsController от Core Data, однако это менее важно в отношении моей проблемы.

Я хотел бы иметь предопределенное количество строк в моем UITableview. Скажем, я запустил приложение, я бы хотел увидеть только 10 строк, даже если я получил 14 записей в Core Data. Когда я нажимаю кнопку «загружать больше ..», следующие 10 строк должны быть загружены (загрузка реализована, мне просто нужно выяснить способ отображения правильного количества строк). Если я получил 10 строк в начале и в первом разделе 7, а во втором - 5, то последние две строки второго раздела не должны отображаться, пока я не нажму кнопку «Загрузить больше», чтобы показать следующее 10. Так что я думаю я должен реализовать эту логику в numberOfRowsInSection и numberOfSectionsInTableView, но мне нужна подсказка о том, как ее решить ...

В принципе мне понадобится цикл, который проходит через секции. Если количество строк, которые я хочу отобразить, достигнуто, я возвращаю все разделы, пока эта точка не будет отображаться. Затем мне нужно будет извлечь все строки этих разделов и строки разделов, прежде чем вычислять числоOfRowsInSection для каждого раздела ...

В любом случае кто-нибудь, кто может помочь мне реализовать это? Заранее спасибо

ответ

1

Возможно, хороший способ решить эту проблему - использовать выбранный контроллер результатов. Вы можете попробовать установить fetchLimit на fetchRequest. Если сортировка FRC верна, она должна получить первые объекты n.

-(void)loadRows:(NSUInteger)numberOfRows { 
    NSFetchRequest *request = self.fetchedResultsController.fetchRequest; 
    request.fetchLimit = numberOfRows; 
    NSError *error; 
    [self.fetchedResultsController executeFetchRequest:request error:&error]; 
} 
+0

Большое вам спасибо! Я об этом не думал. Работает как шарм. – dehlen

Смежные вопросы