相关疑难解决方法(0)

为什么没有使用新数据更新NSFetchedResultsController?

我的核心数据模型有两个实体:Author并且Book具有To-Many关系(一个作者 - >多本书).在主视图中,我显示了一个书籍列表,其中每个单元格包含书名和作者姓名.视图也分为几个部分,每个部分标题是作者名称.(注意为"排序描述符"和"sectionNameKeyPath"设置了"author.name")

这是代码(为简洁起见而简化):

- (NSFetchedResultsController *)fetchedResultsController {

    if (__fetchedResultsController != nil) {
        return __fetchedResultsController;
    }

    NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Book" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"author.name" ascending:YES] autorelease];
    NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];

    [fetchRequest setSortDescriptors:sortDescriptors];

    NSFetchedResultsController *aFetchedResultsController = [[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"author.name" cacheName:nil] autorelease];
    aFetchedResultsController.delegate = self;
    self.fetchedResultsController = aFetchedResultsController;

    NSError *error = nil;
    [self.fetchedResultsController performFetch:&error];

    return __fetchedResultsController;
}    

- (UITableViewCell *)tableView:(UITableView *)tableView …
Run Code Online (Sandbox Code Playgroud)

iphone core-data ios4

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

core-data ×1

ios4 ×1

iphone ×1