OS X 数据文件编辑器保存到 XML:是不是基于文档?

Posted

技术标签:

【中文标题】OS X 数据文件编辑器保存到 XML:是不是基于文档?【英文标题】:OS X Data file editor saving to XML: Document based or not?OS X 数据文件编辑器保存到 XML:是否基于文档? 【发布时间】:2013-02-25 23:44:55 【问题描述】:

所以我正在尝试为我拥有的 ios/android 应用程序制作数据编辑器。我希望能够编辑 3 个单独的数据文件,并且我想将它们保存到 plist 文件或 xml 文件中。我打算在应用程序中使用 Core Data。我遇到的问题:

1)。这应该是基于文档的应用程序吗?

2)。如果是这样,我将如何设置它以允许编辑 3 种不同结构的文件?

3)。如果是这样,我将如何设置基于文档的应用程序以使用常规 plist/xml 文件作为文件类型而不是某些自定义文件类型?

计划是让编辑器能够打开和编辑文件,然后可以将保存的文件复制到iOS和Android应用程序的项目资源中。

【问题讨论】:

这些文件需要保持在一起,还是只是三种不同的文件类型?编辑一个而不编辑其他一个或两个会导致问题吗? 它们是三个独立的文件。编辑一个而不编辑另外两个不会造成问题,除非其中没有数据。 【参考方案1】:

1。应用程序是否应该基于文档?

是的。

2。如何允许编辑三种不同结构的文件?

从以下任意一项中选择:

    在文档类型列表中创建三个字典,这三个字典都引用同一个文档类。 与上述相同,但 windowNibNamemakeWindowControllers 根据文档类型选择 UI。换句话说,共享模型代码,但不同的视图层次结构。 (我可能会选择其中任何一个。) 创建三个文档类型字典,每个字典都有自己的文档类。

您选择哪一种取决于类型的不同程度。

您可能还希望为每种文档类型导出一个 UTI。 Xcode 不会帮助你。您需要手动编写每个 UTI 字典。

3。如何将基于文档的应用程序设置为使用常规 plist/xml 文件作为文件类型而不是某些自定义文件类型?

如果您导出一个或多个 UTI,您应该适当地设置每个 UTI 的父 UTI,但这是建议性的;这意味着您将能够使用通用 plist 或 XML 编辑器/查看器打开文档。

在每个文档类中读入和写出数据由您决定。您将不得不使用 NSPropertyListSerialization、NSXMLParser、PRHXMLParser、NSXMLDocument 或其他您认为合适的东西; NSDocument 不会为您处理文件格式。

【讨论】:

以上是关于OS X 数据文件编辑器保存到 XML:是不是基于文档?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 上传本地 OS X IPA 文件和 XML

Mac OS X 10.7.1修改hosts文件时提示“您不是文件hosts的所有者,因此没有权限写到该文件”求问要如何解决

CGI 脚本,使用终端 (OS X) 将 `printf` 保存到文件

Air As3 XML 编辑/保存

如何在 Mac OS X 上设置已保存文档的 kMDItemKind?

OS X Cocoa:基于 NSDocument 的应用程序未保存