OGeek|极客世界-中国程序员成长平台

标题: ios - Core Data - 合并具有共同值(value)的对象 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:42
标题: ios - Core Data - 合并具有共同值(value)的对象

为了我的问题的简单性,这是我的核心数据模型(并不完全有意义,仅用于示例):

Book  
-------  
- title  

- readers (to-many relationship to Reader)  


Reader  
------  
- name  

- book (to-one relationship to Book)  

目前同名书籍可以在db中有多个实例。
但我想改变这一点,我想将所有具有相同标题的书籍合并到一个实例(删除所有其余部分)并合并它们的读者。

例如,如果我的数据库看起来像这样:
1.书名“A”读者:“1”、“2”、“3”
2.书名“B”读者:“4”、“5”、“3”、“7”
3.书名“A”读者:“4”、“1”

新的数据库将是:
1.书名“A”读者:“1”、“2”、“3”、“4”
2.书名“B”读者:“4”、“5”、“3”、“7”

如您所见,标题为“A”的两本书合并为一条记录,包括读者。

所以我的问题是如何有效地做到这一点。
我正在考虑某种查询,它将为我带来所有具有多个实例且具有相同标题的书籍,然后可能根据标题将它们排序到组中。

不确定这是否是正确的解决方案,
任何帮助将不胜感激



Best Answer-推荐答案


我没有足够的时间给出完整的答案,但这里是指针:

您可以使用字典结果类型的获取请求来获取重复项。您必须按标题(属性描述)对其进行分组并添加一个计数列(表达式描述)。您可以使用有参数过滤结果,因此您只能获得 count>1 的标题。

希望对您有所帮助。

关于ios - Core Data - 合并具有共同值(value)的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720944/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4