每个iOS应用程序都有文件夹,我们可以存储从Internet下载或直接从应用程序创建的一些文件。
因此,当我将文件下载到NSTemporaryDirectory时,我还将此文件作为实体附加到核心数据。
例如我已经下载了文件description.pdf,在这一点上我创建了具有此文档完整路径的实体。
coreDataEntityFile.path = NSTemporaryDirectory /根文件夹/文件夹/ description.pdf
我跳过[NSString @"%@"]
从不介意;
为什么我需要将文件存储在Core Data中?
我的文件管理器需要它,核心数据显示文件是否处于活动状态,是打开还是其他状态。
我的问题是什么?
假设我这里有10000个文件 NSTemporaryDirectory / Root Folder / Folder / ,并假设我想将文件夹重命名为我的文件夹
所以路径将是 NSTemporaryDirectory / Root Folder / My Folder /
但是核心数据仍然没有关于更改,如果我想在核心数据中更改此目录,我需要使用新路径重命名所有 coreDataEntityFile.path 。
但是对于10000来说这不是一个好的解决方案。
所以我只是重命名文件夹,我想也许我需要使用一些非常简单的方法。
答案 0 :(得分:0)
您应该考虑使用NSURL及其书签功能。来自Apple:
在OS X v10.6及更高版本中,NSURL类为其提供了便利 创建和使用书签对象。书签提供持久性 引用文件系统资源。当您解析书签时,您 获取资源当前位置的URL。书签的 与文件系统资源(通常是文件或文件夹)的关联 如果用户移动或重命名资源,通常会继续工作, 或者如果用户重新启动您的应用程序或重新启动系统。
这样,文件路径的更改对您来说无关紧要,书签将始终是最新的。我没有在iOS上尝试过这个临时目录,但我认为没有理由说它也不应该在那里工作。