什么是瞬态、索引、索引聚光灯和存储在外部记录文件中的核心数据



我想知道何时使用以下属性?他们做什么?我们为什么要使用它?

  1. 瞬态:根据苹果文档:

瞬态属性是您定义为模型,但不会作为实体实例的数据。核心数据确实会跟踪您对瞬态属性,因此会记录它们以进行撤消操作。你将瞬态特性用于各种目的,包括保存计算值和导出值。

我不理解它没有作为实体实例的数据保存到持久存储中的部分。有人能解释一下吗?

  1. 索引:它提高了搜索速度,但代价是占用了更多空间。所以,基本上,如果您使用一个属性进行搜索查询,并且想要更快的结果,那么就将该属性设置为"索引"。如果搜索操作非常罕见,那么它会降低性能,因为它占用了更多的索引空间。我不确定它是否正确
  2. 聚光灯下的索引
  3. 存储在外部记录文件中
  1. 例如,考虑一下您有一个导航应用程序。在你的地图上,你的车在中心,每秒更新几十次,还有一个"加油站"类型的实体。实体与汽车的属性"距离"将是一个瞬态属性,因为它是实时数据的函数,因此没有必要存储它。

  2. 索引属性是按排序存储的,因此可以更快地进行搜索。解释可以在维基百科上找到。如果你频繁的搜索需要很长的时间,你可能应该考虑索引。

  3. 当用户不在应用程序中时,可以考虑在Spotlight中对用户可能想要搜索的任何内容进行索引。文档在这里。

  4. 像图像这样的大型二进制对象应该存储在外部。

最新更新