在IOS中浏览文件

在几乎所有移动操作系统中,从systme中选择文件始终是一项繁琐的工作。 用户必须打开文件选择器选项,搜索所有这些文件,然后选择将其添加到另一个应用程序中。

不久前,Apple提出了两项​​出色的功能,可以非常轻松快捷地刺激此过程。

  1. 拖放
  2. 浏览文件

我敢肯定,您对拖放有很好的了解,并且我将提供有关文档浏览的简短详细信息。

Apple从iOS 11引入了一个名为Files的新应用程序。 “文件”应用程序为用户提供了浏览,搜索和组织本地和云(以及其他第三方文件存储服务提供商)文件的关键空间。 这可以通过UIDocumentBrowserViewController来完成,让我们了解它如何发挥其功能和局限性。

UIDocumentBrowserViewController:

UIDocumentBrowserViewController集成在UIKit框架中,它本身继承自UIViewController来浏览和执行对本地和通过云存储的文档的操作。

我们可以通过将“ AllowedContentTypes ”设置为字符串数组来配置文档浏览器。 浏览器将仅打开在上述字符串数组中设置的文档。

另外,我们需要设置布尔“ AllowsDocumentCreation ”。 我希望您可能已经了解了此bool会做什么? 究竟! 这是一个布尔值,它确定文档浏览器是否可以创建新文档。

我们可以使用的另一项布尔值是关于是否可以选择多个文档? 布尔值是“ AllowPickingMultileItems ”。

现在,我们可以通过传递内容类型字符串数组来创建新的文档浏览器,并且可以像处理其他委托一样通过委托来响应浏览器的事件(考虑设置TableViews的委托)。

同样,我们可以在执行过渡时通过UIDocumentBrowserAction ,Animations添加自定义动作,并根据应用程序的主题修改浏览器的外观。 这是一个简单的功能,我们可以从UIKIT Framework轻松掌握,也可以在执行IDE(即Xcode)编码时按命令按钮并单击感兴趣的类名。

它具有我们感兴趣的实例功能,ImortDocument为:

  func importDocument(at documentURL:URL,nextToDocumentAt neighbourURL:URL,模式importMode:UIDocumentBrowserViewController.ImportMode,complementHandler完成:@escaping(URL ?, Error?)-> Void) 

苹果在总览中说

“默认情况下,文档浏览器可以访问系统的本地文件提供程序及其iCloud文件提供程序 ”。

现在,让我们有一个基本的想法:苹果“文件提供者”是什么意思?
苹果已经添加了FileProviderFileProviderUI框架,用于添加第三方存储服务。

让我们首先讨论FileProvidedUI ,这有什么猜想? 是的,它是如此简单。 关于用户界面以及可以在文档上执行的所有操作。 让我们弄清楚。

  • 这就是将操作添加到文档浏览器的上下文菜单中的全部操作。
  • 文件提供者用户界面是一个扩展,我们必须将其添加到文件提供者扩展的自定义操作中。
  • 用户完成任务后,我们必须明确取消或完成操作。
  • 当我们深入研究时,我们将能够在文档浏览器上进行自定义并进行错误处理。 但是为此,我们不会深入探讨

现在,让我们简要介绍FileProvider

  • 如果您专注于存储和管理文件,则FileProvider是扩展。 通过集成FileProvider,我们可以通过我们的应用访问和管理文档和目录。
  • 我们可以下载文件,修改文档内容并上传回服务器。 它还拦截协调的读取和写入。
  • 写入完成后触发通知,以便扩展程序可以将修改后的文件上传到远程主机。
  • 枚举存储的文档
  • 执行诸如导入,重命名,移动,删除项目之类的操作。

本文仅用于介绍从IOS 11开始浏览文件。 在下一篇文章中,我将提供一个演示代码,以及通过不同的远程文件服务器集成实现的行规。

谢谢