CoreData共享实体属性

时间:2018-12-21 13:07:32

标签: swift core-data properties

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

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

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

我正在按照以下思路进行思考:

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

还是一个与其各自的物料一对一关系的单独“元”实体会是一个好的解决方案?

我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

enter image description here

将选择内容放入具有count属性的实体中,并在选择内容和项目之间具有关系。根据您的需求,Selection-> Item关系可以是一对多的。我在这里有很多,但这对您来说可能不是最好的。

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