我很难使用关系创建tableView部分。
我有两个有关系的实体
列表
<----->>
项目
.
我想要
列表
作为部分和
项目
作为行。我设置了
sectionNameKeyPath
具有关键路径
@"itemList"
.
下面是我的fetchedResultsController的其余部分
- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
// Fetch Request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Item"];
[fetchRequest setFetchBatchSize:20];
// Sort Descriptors
NSSortDescriptor *itemSort = [[NSSortDescriptor alloc] initWithKey:@"displayOrderItem" ascending:YES];
NSSortDescriptor *sectionSort = [[NSSortDescriptor alloc] initWithKey:@"displayOrderList" ascending:YES];
NSArray *sortDescriptors = @[sectionSort, itemSort];
[fetchRequest setSortDescriptors:sortDescriptors];
// Fetched Results Controller
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"itemList" cacheName:nil];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
NSError *error;
if (![self.fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
return _fetchedResultsController;
}
结果是fetchedResultsController根本不填充tableView。当我尝试它没有部分,与
sectionNameKeyPath:nil
而且只是
setSortDescriptor:itemSort
,它会很好地填充tableView。而且
numberOfSectionsInTableView
和
controller didChangeSection
正确设置。
我不知道我做错了什么。有人能帮我吗?
谢谢