Использование NSFetchedResultController как убедиться, что отображаются только 100 строк

#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. Это мешает обновлению.