coredata 获取关系不存在的记录

Posted

技术标签:

【中文标题】coredata 获取关系不存在的记录【英文标题】:coredata fetch records where the relation is not existing 【发布时间】:2018-02-21 20:29:44 【问题描述】:

我有一个与另一个实体有可选关系的实体。现在我想选择那些与其他实体没有关系的记录。

我尝试使用谓词(格式:“relation = %@”,nill),但这不起作用。

如何在没有填充关系的情况下获取记录?

【问题讨论】:

to check an coredata object is nil的可能重复 【参考方案1】:

试试这个:

let fetchRequest: NSFetchRequest = YourEntity.fetchRequest()
let predicate = NSPredicate(format: "%K == nil", #keyPath(YourEntity.yourOptionalAttribute))
fetchRequest.predicate = predicate
// the rest of your code to perform the fetch goes here

@K 用于keyPath。你只想搜索keyPath在哪里nil

【讨论】:

以上是关于coredata 获取关系不存在的记录的主要内容,如果未能解决你的问题,请参考以下文章

Coredata / SWIFT 获取有关系的记录

CoreData 关系内容不持久

从 JSON + Swift 或 ObjC 检索数据时如何处理 CoreData 中的关系

核心数据 - 如何在不触发错误的情况下检查对象关系是不是存在

CoreData 获取实体

在 Core Data 中有效地获取一对多关系中的最新记录