gpt4 book ai didi

objective-c - 何时删除 NSTemporaryDirectory 中的文件

转载 作者:行者123 更新时间:2023-12-04 00:47:17 27 4
gpt4 key购买 nike

我正在构建一个多任务应用程序,其中包含查看大型 pdf 文件的功能。为了避免每次用户想要查看文件时都下载文件,我在 NSTemporaryDirectory 中下载文件并使用 UIDocumentInteractionController 提供“快速查看”和“在 iBooks 中打开”。

我希望在用户退出应用程序时清除所有临时文件,以避免占用用户设备上的空间。由于我的应用程序是多任务处理的,并且我的 applicationWillTerminate 方法永远不会被调用,所以文件永远不会被删除。什么时候清除 NSTemporaryDirectory 最好,我该怎么做?我错过了什么吗?

提前致谢

最佳答案

您可以使用在 iOS 上也能正常工作的旧 UNIX 技巧(我知道,因为我使用了它):

  • 保存文件。
  • 打开它们。
  • 记住文件描述符。
  • 删除文件(这是最神奇的部分)。

效果是只要您不关闭文件,它们就会保持打开状态。但是他们的目录条目不见了,即文件不会再出现在目录列表中。现在很酷的是,只要您关闭其中一个文件描述符,相应的文件就会自动从磁盘中完全删除。无论您是否对它们显式调用 close 或者您的应用程序是否终止或崩溃,在所有这些情况下,文件都会被操作系统删除,您无需担心。

缺点是您需要更改代码才能使用文件描述符,因为您无法再按名称访问文件。

关于objective-c - 何时删除 NSTemporaryDirectory 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6937171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com