停止删除特定的CoreData记录?

问题描述 投票:0回答:2

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

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

iphone objective-c ipad uitableview core-data
2个回答
2
投票

假设您在表格视图上使用滑动来删除,最好使用

tableView:canEditRowAtIndexPath:
并且仅在
isSpecial
为 false 时才允许编辑。这将阻止用户点击删除按钮并且什么也不会发生


1
投票

您可以为实体创建子类

NSManagedObject
(如果还没有的话),并覆盖
validateForDelete:
以检查对象的
isSpecial
属性。

您还应该调用 super 的实现,详见此处

如果您想以编程方式删除它,您只需在尝试删除之前将

isSpecial
设置为
NO

© www.soinside.com 2019 - 2024. All rights reserved.