2010-04-26 3 views
3

У меня есть база данных людей и домашних животных, с одной до многих отношенийnsfetchedresultscontroller с пустыми секциями

Person Pet Имени Имени Pet < ----- >> Владельца

Я использую UITableView, поддерживаемый данными Core, и nsfetchedresultscontroller для отображения списка домашних животных, сгруппированных в разделы владельцем.

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
fetchRequest.entity = [NSEntityDescription entityFromName:@"Pet" 
    inManagedObjectContext:context] 
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Owner.name" 
    ascending:YES]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 

NSFetchedResultsController *controller = [[NSFetchedResultsController alloc] 
    initWithFetchRequest:fetchRequest 
    managedObjectContext:context 
    sectionNameKeyPath:@"Owner.name" 
    cacheName:@"Root"]; 

Это работает для отображения всех домашних животных под их владельцев секции, но я также хочу, чтобы отобразить пустые разделы Люди, которые не имеют каких-либо домашних животных? Это возможно?

Спасибо за любую помощь.

ответ

1

№ Представления в таблице не будут отображаться пустые разделы по дизайну. Это особенность UITableView, а не проблема с Core Data.

+1

Да, они ... посмотрите на просмотр списка календарей ios. Если у вас нет назначений на сегодняшний день, это списки и пустой раздел. – Bot

+0

Это намеренное переопределение в одном приложении. UITableView, по дизайну, скроет разделы, которые пусты. –

+1

Я думаю, что вы ошибаетесь, я могу указать количество разделов, затем для этих разделов numberOfRowsInSection возвращает 0 строк и все еще имеет название. – Bot

1

Невозможно с NSFetchedResultsController, однако вы можете достичь того, о чем вы просите, используя класс почти заменителя TAFetchedResultsController.

Смотрите информацию и получить код здесь: https://github.com/timothyarmes/TAFetchedResultsController

0

Если имеется только один раздел, это довольно легко обойти проблему, где отображаются вид заголовка UITableView, когда нет разделов.

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