Core data 与岩心数据的关系

Core data 与岩心数据的关系,core-data,swift,relationship,Core Data,Swift,Relationship,(使用swift/Xcode beta 3) 我的项目中有两个实体——一个父实体,它与子实体有一对多的关系。在保存上下文之前添加新对象时,一切正常。但是,在重新启动应用程序并再次获取父对象后,我会收到其所有子对象的“关系错误”。这就是我保存上下文的方式: func saveContext () { var error: NSError? = nil let appDel:AppDelegate = UIApplication.sharedApplication().delega

(使用swift/Xcode beta 3)

我的项目中有两个实体——一个父实体,它与子实体有一对多的关系。在保存上下文之前添加新对象时,一切正常。但是,在重新启动应用程序并再次获取父对象后,我会收到其所有子对象的“关系错误”。这就是我保存上下文的方式:

 func saveContext () {
    var error: NSError? = nil
    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let context =  appDel.managedObjectContext

    if context == nil {
        return
    }
    if !context.hasChanges {
        return
    }
    if context.save(&error) {
        return
    }

    println("Error saving context: \(error?.localizedDescription)\n\(error?.userInfo)")
    abort()
}
我尝试更改includesSubentities=true和setReturnsObjectsAsFaults=false,但似乎没有帮助。对于Objective-C的“关系错误”问题,大多数答案似乎都使用SetRelationshipKeyPaths进行预处理,但在Swift中,将其与NSFetchRequest一起使用似乎是不可能的


有什么我遗漏的吗

正如GeneratorOfOne所说,该故障只是意味着该对象尚未被提取到内存中。你是正确的,你“无法获取这些子对象,仅仅访问它们并不能完成任务。”要获取对象,你必须评估对象的属性,也就是说,实际使用对象的值。

这是完全正常的。它会给您错误问题,除非您使用对象,否则它希望加载到内存中,直到您使用它为止

关系错误是正常的。就核心数据而言,断层不是真正的对象。它还没有实现,所以当您尝试访问属性时,它会从持久性存储中取出,然后对象就会建立起来。嘿,谢谢您的回答。不幸的是,我无法获取这些子对象,仅访问它们无法完成任务。请向代码演示如何获取父对象及其子对象。@Paweł您找到解决方案了吗?