删除按钮不适用于NSFetchedResultsController

时间:2014-02-19 09:16:39

标签: ios delegates nsfetchedresultscontroller

我是Core Data的新手,我正在创建一个显示对象的简单应用程序。到目前为止,我的程序成功保存并显示了托管对象。但是,我无法在我的表格视图中使用删除和其他编辑功能。我从一个空项目开始,只是将一个表视图控制器拖到故事板上。我测试了我的代表的工作,似乎我的tableview委托仍在运行。我在NSLog中添加了commitEditingStyle,并且日志有效(当我点击删除按钮时)。这是我的viewDidLoad

- (void)viewDidLoad
{
    [super viewDidLoad];

    MPGAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = [appDelegate managedObjectContext];
    NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Entry"
                                                         inManagedObjectContext:context];
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setEntity:entityDescription];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"mpg"
                                                                   ascending:NO];
    NSArray *sortDescriptors = @[sortDescriptor];
    [request setSortDescriptors:sortDescriptors];
    [request setFetchBatchSize:20];

    fetchController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                          managedObjectContext:context
                                                            sectionNameKeyPath:nil
                                                                     cacheName:nil];
    self.tableView.delegate = nil;
    fetchController.delegate = self;
    NSError *fetchError;
    BOOL success = [fetchController performFetch:&fetchError];
    if (success) {
        NSLog(@"Fetch successfull");
    } else {
        NSLog(@"Fetch failed");
    }

    self.clearsSelectionOnViewWillAppear = YES;
    self.navigationItem.leftBarButtonItem = self.editButtonItem;
}

我确定问题不是NSFetchResultsControllerDelegate,因为我几乎从文档中复制粘贴了这些实现。

有人知道这个问题是什么吗?

0 个答案:

没有答案