MP4作为外部数据参考存储在Core Data中...如何获取路径?

时间:2012-12-18 15:56:27

标签: objective-c core-data ios6 nsdata mp4

我将Core4中的MP4文件存储为“允许外部存储”NSData属性。如何获取此数据的路径字符串或NSURL?此外,如果mp4文件低于1 MB并在内部存储会发生什么?它会不能提供路径?有没有简单的方法来判断数据是存储在外部还是内部?

1 个答案:

答案 0 :(得分:2)

核心数据无法提供任何获取路径的方法。如您所知,它甚至不能保证路径,因为它可能没有使用外部文件。它被设计为你不需要知道路径是否存在或者它可能是什么的东西,并且API反映了这种态度。

非正式可以找到文件。如果您的数据存储名为Foo.sqlite,则外部文件(如果有)将位于名为.Foo_SUPPORT/_EXTERNAL_DATA/的同一文件夹的子目录中。实际的文件名只是UUID,因此找出哪个管理对象仍然不是自动的。您可以做的最好的事情可能是跟踪托管对象的修改日期,然后查找具有相同模式日期的文件。

如果您确实需要出于某种原因获取该文件,则需要滚动自己的外部参考代码。这很简单,真的。