停止删除特定CoreData记录?

时间:2012-01-19 12:54:36

标签: iphone objective-c ipad uitableview core-data

我在我的应用程序中设置了CoreData,并且我有一个具有属性'isSpecial'布尔值的实体。对于'isSpecial'为真的记录,我希望用户不会从显示在其中的UITableView中删除这些记录。

那我该怎么做呢?如何直接看到用户'isSpecial'选择的单元格?

谢谢,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

假设您在表格视图上使用滑动删除,最好使用tableView:canEditRowAtIndexPath:,并且仅在isSpecial为假时才允许编辑。这将阻止用户点击删除按钮并且不会发生任何事情

答案 1 :(得分:1)

您可以为您的实体创建NSManagedObject子类(如果您还没有),并覆盖validateForDelete:以检查对象的isSpecial属性。

您还应该调用super的实现as detailed here

如果您想以编程方式删除它,则只需在尝试删除之前将isSpecial设置为NO