我正在做一个关于 CoreData 的教程,他们谈到了“允许外部存储”选项。文档说“启用后,Core Data 会根据每个值试探性地决定是将数据直接保存在数据库中,还是将 URI 存储到它为您管理的单独文件中。您不能根据如果您使用此选项,则为二进制数据属性。”我理解第一部分,但我不明白“如果使用此选项,则不能基于二进制数据属性的内容进行查询”是什么意思。我觉得这很重要,但我无法理解。 “您不能根据二进制数据的内容进行查询”,这是什么意思?我不知道是不是我的英语不好还是什么,但我想不通。 本教程是 Ray Wenderlich 教程系列丛书中的“Core Data by Tutorials”。我强烈推荐!
最佳答案
image 您存储的 NSData 是带有 exif header 的 jpeg 数据。
如果您将数据存储在数据库中,您可以使用谓词匹配所述 exif 数据:例如类似于(伪)“jpgedData 包含作者:dominik”
如果将其存储为单独的文件,则该查询将无法工作,因为数据实际上并不在数据库中
[请注意,这是解释性伪代码,我真的想不出一个实际/有用的例子]
关于ios - CoreData 和 "Allows External Storage"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050708/