如何按列值对CoreData中的记录进行分组?

时间:2018-02-07 17:23:16

标签: ios swift core-data

我在CoreData实体中有下一个表:

`title`
`description`
`category`

现在我想按category对所有记录进行分组。例如:

("A", "B", "Cat")
("C", "D", "Dog")
("E", "F", "Cat")

我希望将它们放在如下字典中:[Category: [Items]]

其中Category是结构(标题,描述),而Items是我上面描述的结构,如(标题,描述,类别)。

因此我想获得字典

[Category("Cat"): [Items("A", "E")], Category("Dog"): [Items("C")]]

我怎样才能在Swift中做到这一点?

我尝试过与众不同但我在那里得到了错误的结果。

1 个答案:

答案 0 :(得分:0)

根据您的信息有限的示例:您的数据模型是什么样的,我将使用您获得的任何实体数组并使用Dictionary(grouping:by:)创建字典,如我的评论中所述。

假设Core Data实体具有您引用的属性,您将按如下方式创建字典:

let dictionary = Dictionary(grouping: entityArray) { $0.category }

这假设您拥有一系列具有titledescriptioncategory属性的实体。