UICollectionView reloadData подает в отставку первого респондента в заголовке раздела

у меня естьUICollectionView которые имеют заголовок раздела. В заголовке раздела у меня естьUISearchBar, Я хочу фильтровать содержимое в моем представлении коллекции, когда я печатаю в строке поиска. Я делаю это с помощью следующего метода:

// The method to change the predicate of the FRC
- (void)filterContentForSearchText:(NSString*)searchText
{
    NSString *query = searchText;
    if (query && query.length) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains[cd] %@ or createdAt contains[cd] %@ or noteText contains[cd] %@ or keywords contains[cd] %@", query, query, query, query];
        [self.fetchedResultsController.fetchRequest setPredicate:predicate];
    } else {
        [self.fetchedResultsController.fetchRequest setPredicate:nil];
    }
    NSError *error = nil;
    if (![[self fetchedResultsController] performFetch:&error]) {
        // Handle error
        NSLog(@"Error");
    }
    [self.collectionView reloadData];
}

Этот метод вызывается каждый раз, когда изменяется текст в строке поиска. Линия[self.collectionView reloadData] спрятал клавиатуру для каждого персонажа. Можно ли перезагрузить только данные в представлении UICollection и не загружать дополнительные представления, такие как заголовки разделов?

Данные в моем collectionView поступают из NSFetchResultController.

Я очень доволен тем, как работает мой пользовательский интерфейс, поэтому, если есть простой способ НЕ перезагружать заголовок раздела, это было бы здорово!

Ответы на вопрос(2)

Ваш ответ на вопрос