【发布时间】:2013-09-04 23:04:36
【问题描述】:
我正在为我的以用户输入数据为中心的应用程序制定“清除流程”。本质上存在一个父实体和一个子实体。如果我“滑动删除”父对象,系统会正确删除子对象。所以这部分是有效的。
现在,我要做的是检查并删除所有大于 60 岁的子对象?已标记为“已核对”的日期。将获取和删除请求放在一起应该没有问题。我不知道如何获取和删除没有子对象的父对象(早于?60?天)?
我希望我不必遍历整个集合,获取子对象的计数并将该值保存到父对象,然后用“0”删除父对象,但我想这将是我的计划 B。数据结束60 天的时间可以累积 60-100 个新父对象和 150-300 个新子对象,如果用户保持与个人工作相关的收入,则子对象通常应在创建后 1-3 周内标记为“已调和”及时处理物品。
父实体大多是字符串(大约20个属性),但也有6个左右的BOOL和十进制属性,子实体大约有6个字符串、2个十进制和1个BOOL属性。因此,如果用户没有选择性地删除任何内容,我不确定在一年的典型使用情况下,这将转化为数据库大小。
我认为归档过程中没有任何需要,因为从长远来看,这些信息并不“关键”。但是,我不能指望我的目标受众在适当的时候习惯性地手动“滑动删除”父对象,这意味着如果不实施清除过程,数据集将随着时间的推移而变大。
是否有一个简短的响应来提供 Core Data 将响应的通用方法或方法/sql 语法?还是我应该从不同的角度来解决这个问题?提前致谢。
【问题讨论】:
-
在删除孩子时本地存储父母,然后检查每个孩子的数量并不是很多代码,也不需要额外的提取。
-
上下文不是指的磁盘数据一旦保存就不会准确了吗?或者,也许我不明白这个过程将如何运作。作为一批还是一个接一个?
-
删除所有的子元素,然后根据子元素的变化删除父元素,然后保存。
标签: ios core-data parent purge