cocoa – 从阵列控制器中删除实体时如何删除实体?

cocoa – 从阵列控制器中删除实体时如何删除实体?,第1张

概述我在托管对象模型中有一个实体(例如,员工),该实体与另外两个实体(例如部门和团队)相关.两种关系都是一对多的(即员工必须有一个部门和一个团队,团队和部门有很多员工).这两者可能重叠也可能不重叠(例如,一个团队可能由HR,Accounting& I.T.的员工组成,或者它可能由来自一个部门的几名员工组成). Department <-->> Employee <<--> Team 我有两个NSArr 我在托管对象模型中有一个实体(例如,员工),该实体与另外两个实体(例如部门和团队)相关.两种关系都是一对多的(即员工必须有一个部门和一个团队,团队和部门有很多员工).这两者可能重叠也可能不重叠(例如,一个团队可能由HR,Accounting& I.T.的员工组成,或者它可能由来自一个部门的几名员工组成).

Department <-->> Employee <<--> Team

我有两个NSArrayControllers为两个NStableVIEws提供数据,一个Department表和一个Team表.员工可以在部门之间和团队之间移动而没有任何问题,但我不确定如何删除(解雇)员工.

如果我向其中一个阵列控制器发送一条删除消息,那么员工将被从团队中取出(例如)但是留在部门中并且对象图形处于不一致状态.即使我在两个控制器上调用删除 *** 作,对象也不会被删除 – 它是孤立的,只是陷入困境.

最初我有部门&团队关系(Employee实体)设置为Nullify的删除规则,但即使将一个或两个更改为级联也无济于事.

我是否需要覆盖阵列控制器上的remove:action以实际删除员工,或者我是否遗漏了一些非常明显的内容?

解决方法 当您使用Core Data时,NSArrayController有两种不同的行为.如果将其配置为直接从托管对象上下文中获取对象,则会在删除对象时删除它们.

如果你将contentSet绑定到另一个控制器,就像你在这种情况下听起来一样,默认行为是简单地从关系中删除对象.但是,如果要删除它,则会出现“删除删除对象”绑定选项,这将生成所需的结果.

总结

以上是内存溢出为你收集整理的cocoa – 从阵列控制器中删除实体时如何删除实体?全部内容,希望文章能够帮你解决cocoa – 从阵列控制器中删除实体时如何删除实体?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1006096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存