唯一标识UIDocument

时间:2017-10-25 21:06:57

标签: ios uidocument

我正在使用UIDocumentBrowserViewController处理基于文档的应用。应用程序本身创建txt文件,用户可以编辑和保存。

我想将这些文件发送到Apple Watch上的配套应用。然后用户可以阅读手表上的那些。 UIDocument由我的应用程序读取并转换为与WCSession一起发送。

现在的问题是:我如何唯一地识别UIDocument?

我知道我可以通过在文件名或每个文本文件的末尾放置一个UUID来创建自己的标识符,但这不是一个很好的解决方案。

2 个答案:

答案 0 :(得分:0)

Apple recommends the UUID for a filename approach,但确实提到您可以让用户在创建后更改显示名称。

  

UIDocument类假定文件名之间的对应关系   文档和文档名称(也称为显示名称)。通过   默认情况下,UIDocument将文件名存储为   localizedName属性。但是,应用程序不应该要求   用户在他或她时提供文档文件名或显示名称   创建一个新文档。

     

对于您的应用程序,您应该设计一些约定   自动生成新文档的文件名。一些   建议是:

  • 为每个文档生成UUID(通用唯一标识符), 可选择使用特定于应用程序的前缀。

  • 为每个文档生成时间戳(日期和时间),可选择使用特定于应用程序的前缀。

  • 使用顺序编号系统,例如:“Notes 1”,“Notes 2”等。
  

对于文档(显示)名称,您最初可能会使用该文档   文件名,如果有意义(例如“注1”)。或者,如果   文档包含文本,用户在文档中输入一些文本,   你可以使用第一行(或第一行的某些部分)作为   显示名称。 您的应用程序可以为用户提供一些自定义方式   创建文档后的文档名称

答案 1 :(得分:0)

为什么不使用URLResourceKey.documentIdentifierKey?这是一个持久标识符,可以跨重命名和安全保存跟踪文档。