【问题标题】:Remove entry from Core Data if indexPath is known如果 indexPath 已知,则从 Core Data 中删除条目
【发布时间】:2015-11-20 02:18:55
【问题描述】:

我正在尝试删除 UITableView 上的特定条目。我知道该条目的特定索引路径,但我需要先在核心数据中删除该条目。但我不能。这是我正在使用的代码:

AppDelegate * appDelegateMaster = (AppDelegate*)[[UIApplication sharedApplication] delegate];
self.manageObjectContext = appDelegateMaster.managedObjectContext;
                         NSManagedObjectContext *contextObj = self.manageObjectContext;
Messages * entryToDelete = [self.fetchResultController objectAtIndexPath:indexPathToRefresh];
[contextObj deleteObject:entryToDelete]; // delete the entry
NSError *error = nil;
if (![contextObj save:&error]) {}

我正在以编程方式删除它,因此 commitEditingStyle 不是问题。这是在 tableview 的代表之外完成的。

【问题讨论】:

  • 您使用的是 FRC 委托方法吗?你有什么错误吗?有什么事吗?

标签: core-data xcode7 nsindexpath


【解决方案1】:

我建议删除模型中的数据,然后使用回调/委托方法在 UI 上运行更新。

具体来说,NSFetchedResultsController 确实可以处理这种情况。如果您想手动执行此操作,请删除该对象并重新加载 tableView(完全或只是已更改的 indexpath/section)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2015-04-11
    • 2012-03-05
    • 2023-01-19
    相关资源
    最近更新 更多