18

我实际上有几个与 iOS 上的 Core Data 实体属性设置相关的问题:

  1. “存储在外部记录文件中”是否仅用于 Spotlight 集成?
  2. “存储在外部记录文件中”是否仅适用于 Mac OS?
  3. 在 iOS 模拟器上,“外部记录文件”究竟存储在哪里?

不要将这些问题与二进制数据属性设置“允许外部存储”相混淆。我知道该设置会将> 1MB的数据放在商店之外。

  1. 在 iOS 模拟器上,“允许外部存储”存储在哪里?

提前感谢你的帮助!

4

1 回答 1

15

这在Core Data Spotlight 集成编程指南的配置模型部分中有详细描述:

要启用 Spotlight 索引,您需要指定应该索引哪些实体的哪些属性,以及哪些属性(如果有)应该添加到外部记录中。

在配置检查器中,对于要编制索引的每个属性,选择:

Spotlight 中的索引(可选)存储在外部记录文件中 如果实体的至少一个属性设置了“Spotlight 中的索引”标志,那么每当对该实体实例的更改提交到持久存储时,相应的外部记录文件已更新(至少上次修改日期已更改)。这意味着 Spotlight 导入器将运行,因此 Spotlight 索引将使用新数据进行更新。

如果您只选择“Spotlight 中的索引”,Core Data 只会为相应的记录创建一个长度为零的文件。如果您还选择“存储在外部记录中”,则该属性将添加到外部记录的内容中。字符串、日期、数字等简单类型直接导出;关系存储为 UUID。

AFAICT:

  1. 是的
  2. 是的
  3. 真的不适用
于 2012-11-04T23:15:33.500 回答