核心数据删除对象,但保存过去的数据
问题描述:
我想找到一种方法来保存由被删除的核心数据中的对象创建的数据。核心数据删除对象,但保存过去的数据
例如,我有一个可以添加团队的应用程序。您可以将球员添加到该球队。通过该团队,您可以与其他团队进行游戏。该应用程序记录来自该游戏的数据。
如果我要删除一个在游戏中玩过的团队,我该如何让游戏仍然显示团队中的所有数据,而不管它是否被删除?
答
不要使用级联删除关系。如果你这样做,那么你的数据仍然存在,你将无法通过团队访问它。
我不知道你在做什么,但考虑不要删除团队。有很多方法可以让它看起来像删除(给用户),而不用从核心数据中实际删除它。例如,您可能需要考虑添加一个BOOL类型的属性,以指示团队是否处于“活动”状态。
-Update-
这听起来像你的目的,你需要:
- 更改级联删除关系来抵消。这样可以让您在删除后仍然可以访问团队的数据。当团队被删除时,取消关系只是将团队指针更改为指向
nil
。 - 当你想删除一个团队的数据(团队被删除后)遍历所有核心数据属性,并删除任何指向一个
nil
团队。你可以做到这一点,只要你不再需要的信息
啊我认为改变级联删除将工作最好... – Luke 2012-08-01 18:51:33
是否有无论如何删除整个团队呢? – Luke 2012-08-01 22:08:39
你的意思是一旦你删除了团队的参考资料,你希望以后能够删除它的信息?浏览并删除任何不指向团队的对象。 – Dustin 2012-08-02 03:01:07