CoreData获取所有一对多关系

时间:2018-01-06 16:02:30

标签: ios swift core-data nspredicate

我有两个类SessionCourse,会话和课程之间有一对多的关系。我正在尝试使用NSPredicate获取所有会话的课程。我试过的谓词会抛出错误。

let fetchRequest: NSFetchRequest<Course> = Course.fetchRequest()

guard let startDate = session.startDate else {
   fatalError("Attempting to fetch courses for session without a start date")
}

let sessionPredicate = NSPredicate(format: "ALL %K == %@",
                                       #keyPath(Course.session.startDate),
                                       "\(startDate)")

fetchRequest.predicate = sessionPredicate

1 个答案:

答案 0 :(得分:0)

如果您想查找会话具有特定开始日期的所有课程,那么这将更容易:

let sessionPredicate = NSPredicate(format: "session.startDate == %@", startDate)

NSManagedObject提供完整的KVC支持