ios - CoreData 和 "Allows External Storage"选项

标签 ios core-data

我正在做一个关于 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/

相关文章:

ios - 如何删除 xcode 项目中的子模块方案?

swift - 在核心数据中检索具有已过滤子级的父级

ios - 核心数据对象通过循环更新

ios - AFHTTPRequestOperation 完成后如何执行函数?

ios - 来自不同状态的颜色的 UIButton 背景图像

ios - 当 App 退出并重新启动时,NSManagedObjectContext 不会保存

ios - iOS 上 SQLite 或 Core Data 数据库的最大大小是多少?

ios - NSPredicate 收集 NSManagedObject 请求失败

ios - 如何检索选定单元格的集合

ios - NSuserDefaults直到我关闭应用程序迅速才保存