【发布时间】:2015-03-08 03:55:44
【问题描述】:
以下是我为 tableView“重置”按钮实现的方法。我已经验证实体中的条目正在被删除,但是在删除后我的 controllerWillChangeContent 没有被调用。有没有办法手动调用这个方法?
CoreDataStack *coreDataStack = [[CoreDataStack alloc]init];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"FoodEntry"];
[fetchRequest setIncludesPropertyValues:NO];
NSError *error;
NSArray *fetchedObjects = [coreDataStack.managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *object in fetchedObjects)
{
[coreDataStack.managedObjectContext deleteObject:object];
}
error = nil;
[coreDataStack.managedObjectContext save:&error];
编辑:FRC 代码
- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
CoreDataStack *coreDataStack = [CoreDataStack defaultStack];
NSFetchRequest *fetchRequest = [self entryListFetchRequest];
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:coreDataStack.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
_fetchedResultsController.delegate = self;
return _fetchedResultsController;
}
【问题讨论】:
-
我怀疑您的删除代码使用的 managedObjectContext 与您获取的结果控制器不同。请您出示 FRC 的代码。
-
另外,这段代码什么时候运行,表视图使用什么获取请求
-
你是对的,它与我的 FRC 没有链接只是不知道如何解决这个问题,对编码来说还是新手。当用户按下“重置”按钮时调用它。整体被删除,我只需要表格视图在按下时适当更新。以上是我在“编辑”下的 FRC 代码。谢谢
标签: objective-c uitableview core-data delete-row