swift - CoreData 共享实体属性

标签 swift core-data properties

我是 Swift/CoreData 和 SQl 数据库的新手。我有一个包含 7000 多个项目的 CoreDatabase。我想创建一个实体(或任何其他方式)来存储数据库中某个条目的使用频率。我需要这个来创建建议某些条目的加权排序算法。

问题是我不想将其存储在条目本身上,它们需要保持通用,以便我能够通过我自己的节点服务器时不时地更新它们。所以所有用户都有相同的数据库。每当用户选择其中一项时,计数器就会加一。每当我查询一个项目时,频率应该随之而来,这样我就可以对其执行排序算法。

我一直在阅读文章,似乎可以做到这一点,但到目前为止还没有真正有用的。我也看过有关此的 SQLite 文章,但没有找到我要找的东西。

我正在思考以下问题:

FrequencyList {                  Item_1 {          ...7000 items....
   item_1_freq : 0,  ------------>   frequency :  0,
   item_2_freq : 12,                 name: "lala"
   item_3_freq : 3                   ...
   ...                             };
   ...
   7000?!?!
};

或者与其各自的项目处于一对一关系的单独“元”实体是否是一个好的解决方案?

我该如何解决这个问题?

最佳答案

在核心数据中,这样可能会更好:

enter image description here

将选择内容放入具有 count 属性的实体中,并在选择内容和项目之间建立关系。 Selection --> Item 关系可以是一对一或多对多,具体取决于您的需要;我这里有很多这样的东西,但对你来说这可能不是最好的。

如果您想获取 Item 的选择数,请使用 selection.count 的值。发生选择时更新 selection.count

关于swift - CoreData 共享实体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53885324/

相关文章:

javascript - 在 React 中渲染 child ,丢失 Prop 数据

cocoa - 核心数据 : import/export objects from xml

ios - 核心数据替代方案

java - 从Java中的类路径读取配置文件,默认在JAR中

ios - Swift - 调整 fontSize 以适应布局的宽度(以编程方式)

ios - 多线程上的核心数据

c# - 使属性 getter 和 setter 相等(自动属性初始化程序)

ios - 使用常量时的公共(public)初始化

ios - 保存数据并 swift 展开到另一个 Controller

ios - Swift 如何在按钮单击时显示 Tabbar