Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 创建自定义格式的数据文件,并在应用程序中实现“导出应用程序内格式”功能和“在文件中打开”_Iphone_Ios_Objective C_Export_Custom Url - Fatal编程技术网

Iphone 创建自定义格式的数据文件,并在应用程序中实现“导出应用程序内格式”功能和“在文件中打开”

Iphone 创建自定义格式的数据文件,并在应用程序中实现“导出应用程序内格式”功能和“在文件中打开”,iphone,ios,objective-c,export,custom-url,Iphone,Ios,Objective C,Export,Custom Url,我想开发一个功能,用户可以导出应用程序格式的数据,并可以通过电子邮件发送数据文件。现在,用户从应用程序中删除数据。然后它转到邮件并打开文件。应用程序中有一个打开该文件的选项,当按下该选项时,删除的内容将再次显示在应用程序中 我知道一点,我必须实现自定义url,但我不知道应该在sqlite或核心数据中创建哪个数据库,以及如何以应用程序格式导出数据。还有如何制作自定义格式的文件 这一概念取自MinuteTaker应用程序。 请参阅附件中的一些图片,以了解我需要实现的清晰图片 请帮忙。 提前谢谢

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

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

这一概念取自MinuteTaker应用程序。

请参阅附件中的一些图片,以了解我需要实现的清晰图片

请帮忙。
提前谢谢

首先,研究
CFBundleDocumentTypes
,它是指定应用程序理解的文档类型的机制

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

如果您将数据存储在应用程序内的CoreData中,则只需通过电子邮件发送磁盘上的数据存储文件(在发送之前考虑复制和重命名该文件)。CoreData已经保存了版本信息和处理版本冲突的系统(从旧版本升级并在版本不兼容时引发异常)


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

谢谢您的回答。你能告诉我我是否需要使用sqite或coredata,或者任何数据库都可以使用它吗。