我是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
,因为我几乎从文档中复制粘贴了这些实现。
有人知道这个问题是什么吗?