File NSTreeController如何保存到文件

File NSTreeController如何保存到文件,file,save,nsoutlineview,nstreecontroller,File,Save,Nsoutlineview,Nstreecontroller,您好,我正在使用NSTreeController控制NSOutlineView。此应用程序将书签从一个文件加载到另一个应用程序。如ADC中的SourceView示例所示: 我的问题是,一旦用户进行了更改,如何将书签保存到文件中。我应该在应用程序内部维护数组/树并在退出前保存,还是有更简单的方法 您希望反转在MyWindowController.m的populateOutline方法中发生的操作。此方法是将plist读入一个字典,从该字典中读取一个值,然后使用它构建树。从该方法开始,按照代码查看

您好,我正在使用NSTreeController控制NSOutlineView。此应用程序将书签从一个文件加载到另一个应用程序。如ADC中的SourceView示例所示:


我的问题是,一旦用户进行了更改,如何将书签保存到文件中。我应该在应用程序内部维护数组/树并在退出前保存,还是有更简单的方法

您希望反转在MyWindowController.mpopulateOutline方法中发生的操作。此方法是将plist读入一个字典,从该字典中读取一个值,然后使用它构建树。从该方法开始,按照代码查看它是如何构建树的。它使用BaseNodeChildNode类将数据模型构建为一个树(我不知道他们为什么不使用NSTreeNode)。你想逆转这个过程,最终得到一本NSDictionary。然后,您可以使用writeToFile:atomically:将字典保存回磁盘

这可能会变得很复杂,就像你想做的那样。例如,当前代码在单独的线程中加载字典文件,因此您也可以在单独的线程中保存。或者,您可能希望在每次编辑后再次保存在单独的线程中