从 CoreData 刷新 NSTreeController
Posted
技术标签:
【中文标题】从 CoreData 刷新 NSTreeController【英文标题】:Refreshing NSTreeController from CoreData 【发布时间】:2016-06-08 10:44:22 【问题描述】:我正在开发一个具有 NSOutlineView 的可可应用程序,该应用程序通过 CoreData 集成绑定到 NSTreeController。
出于某些目的,我删除了 NSTreeController 中的一些节点
MyTreeController.removeObjectAtArrangedObjectIndexPath(someIndexPath)
但是,我需要使用当前绑定从 CoreData 重新加载 NSTreeController。但是,由于 NSTreeController 没有重新加载数据功能,我找不到解决方案。
任何帮助或解决方法将不胜感激。
【问题讨论】:
重载数据函数调用fetch:
。
@Willeke 感谢您的回复。在使用 MyTreeController.removeObjectAtArrangedObjectIndexPath(someIndexPath) commad 后,我尝试 fetch as MyTreeontroller.fetch(nil) 但删除的项目没有从上下文中收到。
对象是否从上下文中移除?
【参考方案1】:
针对与 Core Data 关联的 NSTreeController
调用 -removeObjectAtArrangedObjectIndexPath
将从 Core Data 中删除该对象。
之后调用-fetch:
会导致数据返回,已经被删除了。
【讨论】:
以上是关于从 CoreData 刷新 NSTreeController的主要内容,如果未能解决你的问题,请参考以下文章