1

我想开发用户可以以应用程序格式导出数据并可以通过电子邮件发送数据文件的功能。现在用户从应用程序中删除数据。然后它转到邮件并打开文件。有一个选项可以在应用程序中打开该文件,当按下它时,已删除的内容会再次显示在应用程序中。

我知道我必须实现自定义 url,但我很困惑我应该在 sqlite 或核心数据中创建哪个数据库,以及如何以应用程序格式导出数据。还有如何制作自定义格式文件。

这个概念取自分钟记录器应用程序。 https://itunes.apple.com/us/app/minutetaker-meeting-minutes/id519543986?mt=8

请参阅所附的一些图片以获得我需要实现的清晰图片。

在此处输入图像描述

请帮忙。提前致谢!

4

1 回答 1

3

首先,研究CFBundleDocumentTypes哪种机制可以指定您的应用程序可以理解哪些文档类型。

此外,自定义文件类型并没有什么特别或神秘之处,它们只是一组导出的数据(二进制、XML、JSON、纯文本等),采用您的应用可以理解的格式。通常,您的自定义导出数据文件会有一个特殊的扩展名,允许操作系统知道如何处理它们。您可能还应该对一些标头信息进行编码,以便检查您是否了解文件内容(它确实是由您的应用程序创建的并且版本号匹配)。NSDictionary您可以像构建数据和writeToFile:atomically:一样简单地创建导出文件,但您使用的确切方法取决于您的数据是什么以及如何将其存储在应用程序中。

如果您将数据存储在应用程序内的 CoreData 中,那么您可以简单地通过电子邮件发送磁盘上的数据存储文件(考虑在发送之前复制并重命名它)。CoreData 已经拥有版本信息和处理版本冲突的系统(从旧版本升级并在版本不兼容时抛出异常)。

您不应该做的是仅根据您导出和共享数据的要求来决定如何在应用程序中存储数据。这是两件非常不同的事情。根据应用程序在运行时的操作选择您的内部数据存储,并根据实际需要保存的数据选择导出的数据格式以重建您的数据集。CoreData 非常适合您的应用内存储,但 XML 文件更有可能成为导出数据的更好解决方案,因为它可以让您对导出的内容进行大量控制,并提供许多用于添加其他元数据的选项。

于 2013-04-22T07:00:04.030 回答