2017-10-16 77 views
0

当同一表的两个属性相同时(%k1 =%k2),查找删除记录。在核心数据中删除其中一个属性等于其他属性的记录

表中的示例用户,删除具有User.firstName == User.lastName的记录。 注意NSPredicate(格式:“firstName!= lastName”)甚至无法获取记录。

看起来是一种自我连接,它不是核心数据的工作方式,但有一些要求在同一个表中删除这些记录。任何求助帮助请

+0

“没有帮助” - 它是否会抛出错误,或者什么都不抓取,或者抓取所有东西? – pbasdf

+0

提取所有要删除的记录。 – mkumar

+0

该谓词提取它们不相等的实例。你想要他们在哪*是平等的,对吗? –

回答

0
  • 所有数据。
  • 过滤器let duplicates = users.filter { $0.firstName == $0.lastName }
  • 删除找到的项目。
+0

寻找删除nspredicate种类的记录...不要过滤数据之前或之后的数据... – mkumar

+0

据我所知,你不能用谓词来做这件事 – vadian