【问题标题】:What is the transient, indexed, index spotlight and store in external Record file in core data?核心数据中外部记录文件中的瞬态、索引、索引聚光灯和存储是什么?
【发布时间】:2016-09-07 08:54:11
【问题描述】:

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

  1. 瞬态:根据Apple Docs

瞬态属性是您定义为 模型,但不作为 实体实例的数据。 Core Data 会跟踪您对 瞬态属性,因此它们被记录以用于撤消操作。你 将瞬态属性用于各种目的,包括保持 计算值和派生值。

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

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

【问题讨论】:

  • 很好的问题:) 很有用

标签: ios core-data


【解决方案1】:
  1. 例如,假设您有一个导航应用程序。在您的地图上,您的汽车位于中心,每秒更新几十次,以及“加油站”类型的实体。实体与您的汽车的“距离”属性将是一个瞬态属性,因为它是实时数据的函数,因此没有必要存储它。

  2. 索引属性是按顺序存储的,因此可以更快地进行搜索。解释can be found on Wikipedia。如果您的频繁搜索需要相当长的时间,您可能应该考虑编制索引。

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

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

【讨论】:

  • “聚光灯下的索引”文档适用于 mac,我一直无法找到适用于 iOS 的文档。这个控制权是否也授予 iOS 应用程序?
猜你喜欢
  • 2021-01-27
  • 2016-06-24
  • 2012-10-16
  • 1970-01-01
  • 2020-04-01
  • 2023-03-10
  • 1970-01-01
  • 2014-04-08
  • 2013-04-05
相关资源
最近更新 更多