【发布时间】:2013-07-25 09:17:44
【问题描述】:
我在我的应用中使用 Magical Record。
我有关系...
Competition <-->> League
即一个Competition 可以有多个Leagues。一个League 只能有一个Competition。
Competition to League 的删除规则设置为 Cascade。反向删除规则设置为Nullify。
如果我删除Competition,那么我期望发生的情况是,属于它的所有Leagues 也会被删除。 (我在以前的应用程序中成功使用过这个)。
我正在测试...
- 下载并插入所有比赛和联赛。
-
用比赛名称记录所有联赛。
NSArray *leagues = [League findAll]; for (League *league in *leagues) { NSLog(@"%@ - %@", league.name, league.competition.name); } e.g. Man UTD - Premier League -
运行以下代码...
[Competition truncateAll]; -
用比赛名称记录所有联赛。
e.g. Man UTD - (null)
我希望这会删除 Leagues 和 Competitions?
我的假设是否正确?为什么不做呢?
【问题讨论】:
-
你如何“用比赛名称记录所有联赛”?您是再次获取它们还是使用指向对象的现有指针? - 请注意,删除规则仅在您
save上下文或调用processPendingChanges时应用。 -
已编辑以显示日志代码。我以为 truncateAll 做到了?我是愚蠢的。我将截断包裹在一个保存块中,它起作用了。谢谢:)
标签: ios objective-c core-data magicalrecord