#iphone #xcode #nsfetchedresultscontroller
#iPhone #xcode #nsfetchedresultscontroller
Вопрос:
request.fetchLimit = 100;
request.fetchBatchSize = 100;
верно ли использование этой функции для ограничения количества строк в TableView с помощью NSFetchedResultsControllerDelegate?
но проблема в том .. иногда в таблице будет отображаться более 100 строк, но когда я меняю страницу и возвращаюсь к таблице, в таблице будет отображаться всего 100 строк, как это может быть? Я не хочу, чтобы в таблице отображалось более 100.
заранее благодарю.
Другой способ сделать это — сделать
заключается в обновлении
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.FetchController sections] objectAtIndex:section];
CalledRowCountingNotYetCallRowForSection=true;
[self.tableViewA setBounces:YES];
if([sectionInfo numberOfObjects]>100){
//[Timer searchCriteriaChanged];
CLog(@"Something Wrong This NumberOfRow: %d", [sectionInfo numberOfObjects]);
}
else{
}
return [sectionInfo numberOfObjects];
так что, когда numberOfObjects больше 100, количество строк становится 100. Однако это мешает
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
Итак, как вы это делаете?
Ответ №1:
Вы могли бы ограничить количество доступных строк, переопределив функции numberOfSectionsInTableView и numberOfRowsInSection вашего источника данных табличного представления, возвращая 1 и 100 соответственно.
Используете ли вы SQLStore в качестве базы для своей таблицы? Согласно документации Apple ( http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html#//apple_ref/doc/c_ref/NSFetchRequest ), fetchLimit работает только для хранилищ SQL.
Комментарии:
1. Это мешает обновлению.