什么是核心数据中的外部记录文件中的瞬态,索引,索引聚焦和存储?

时间:2016-05-11 19:09:22

标签: ios core-data

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

  1. 瞬态:根据Apple Docs
  2.   

    瞬态属性是您定义为属性的属性   模型,但不作为一部分保存到持久性存储中   实体实例的数据。核心数据会跟踪您所做的更改   瞬态属性,因此它们被记录用于撤消操作。您   将瞬态属性用于各种目的,包括保持   计算值和派生值。

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

    1. 已建立索引:它会提高搜索速度,但会占用更多空间。所以基本上,如果你使用属性进行搜索查询并且想要更快的结果,那么将该属性设置为“索引”。如果搜索操作非常罕见,那么它会降低性能,因为它需要更多的索引空间。 我不确定它是否正确?
    2. 聚光灯下的索引
    3. 存储在外部记录文件中

1 个答案:

答案 0 :(得分:0)

  1. 例如,考虑一下您有导航应用。在您的地图上,您的汽车位于中心,每秒更新几十次,以及类型" GAS STATION"的实体。实体的财产距离'你的汽车将是一个瞬态属性,因为它是实时数据的函数,因此没有必要存储它。

  2. 索引属性按排序存储,因此可以更快地搜索。解释can be found on Wikipedia。如果频繁搜索需要花费大量时间,您应该考虑编制索引。

  3. 考虑在Spotlight中为不在应用程序中时用户可能想要搜索的任何内容编制索引。 Documentation is here.

  4. 大型二进制对象(如图像)应存储在外部。