HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了核心数据 – 核心数据:避免在多对多关系中保留循环大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我还在通过iOS开发学习我的方式,并与Core Data合作,并且刚刚遇到了保留周期.

通过阅读“核心数据编程指南”,我的理解是,在完成关系之后,您可以使用托管对象上下文方法refreshObject:mergeChanges来确保保留周期被破坏.

所以让我说一个部门和员工之间有很多关系,在我的代码中,我访问了部门的员工关系,这是否意味着我现在需要循环遍历每个员工对象并调用refreshObject:mergeChanges方法?在代码中这将是

for (employee *anemployee in department.employees) {
  //some code that accesses an employee's properties

  [context refreshObject:enemployee mergeChanges:NO];
}

似乎如果我不这样做,我访问的每个员工对象现在将包含对部门的引用,我将最终得到保留周期.

我的理解正确吗?在处理核心数据中的多对多关系时,这是一个标准的方法吗?谢谢.

解决方法

您可以在 Breaking Relationship Retain Cycles查看,保留周期是必要的,以防止不必要的对象的分配.这意味着您在使用对象时保留对象.

如果您完成了该对象并且想要将其变为故障,则应该使用refreshObject:mergeChanges,以便尽可能处理内存.它不一定会在关系的另一端释放对象,只会在核心数据中设置一个标志,如果需要,对象可能会变成故障.

大佬总结

以上是大佬教程为你收集整理的核心数据 – 核心数据:避免在多对多关系中保留循环全部内容,希望文章能够帮你解决核心数据 – 核心数据:避免在多对多关系中保留循环所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。