解压缩并将内容推送到表格视图中

Posted

技术标签:

【中文标题】解压缩并将内容推送到表格视图中【英文标题】:Unzip and push the contents in a tableview 【发布时间】:2010-12-17 08:49:18 【问题描述】:

我有一个 tableView 列出了我的文档目录的内容。我有一些 zip 文件。如果我在 tableView 中触摸一个文件,则相应的 zip 文件将解压缩到一个临时目录中。

问题是如何导航我在 tableView 中提取的内容。如果假设,提取的 zip 文件包含文件夹,我应该能够在 tableView 中查看它们。实际上流程应该像DrillDown。

我可以提取 zip 文件,但问题是,必须在 tableView 中导航它们。 请给我一些想法或一些源代码来帮助我解决问题。 谢谢。。

【问题讨论】:

【参考方案1】:

我会尝试为您提供一些解决此问题的建议。我能想象的最好的方法是设计一个表格视图,每次单击列表中的项目时都会不断更新其数据源。

让我们明确一点:假设您有第一个包含 zip 文件列表的表格视图。单击一行,将 zip 文件解压缩到本地文件夹,然后将另一个表推送到导航控制器,该表将显示解压缩文件的内容。

这个新表将维护一个指向父文件夹的指针(我们称之为parent),在开头设置为nil,并将包含您当前所在文件夹的内容列表。所以,此数据源将向您显示根文件夹(解压 zip 文件所在的文件夹)的内容以及文件夹和文件。

当您单击代表文件的行时,您将执行相应的逻辑(打开文件、上传文件、编辑、通过电子邮件发送或其他)

当您点击代表文件夹的行时,您应该:

    将数据源的parent 设置为您当前所在的文件夹(在本例中为根文件夹) 读取您选择的文件夹的内容 用您刚刚阅读的内容更新数据源的数据 在表格视图中重新加载数据(例如[tableView reloadData]

您的表格视图应显示一个按钮或专用行,以导航回父文件夹(包含在 parent 参数中的文件夹),以便您可以在每次需要时来回切换。

我认为该解决方案应该可以正常工作。

【讨论】:

以上是关于解压缩并将内容推送到表格视图中的主要内容,如果未能解决你的问题,请参考以下文章

SBT 原生打包程序:在 %install 中解压缩工件

如何从多个 tar 文件中解压缩特定文件并压缩它们?

如何在 C# 中解压缩多层 zip 文件

在C#中解压缩字节数组

KTOR - 在 POST 路由中解压缩文件

golang 压缩在golang中解压缩字符串