有什么方法可以在图形库中使用真实对象来获取核心数据

Is there any way to work with real Object in Graph Library for core data

我刚开始玩库,对于名为 Graph 的核心数据来说看起来非常有趣。 我只是想知道是否有任何方法可以处理真实对象而不仅仅是实体,例如:

let elon: Entity = Entity(type: "Person")
elon["firstName"] = "Elon"
elon["lastName"] = "Musk"

我想与名为 Person 的 Class\Struct 一起工作,该人具有 2 个属性:firstName 和 LastName。 我知道我可以创建一个 Class \ Struct 并创建计算 属性 和 return 的确切值,但我想知道是否有一种优雅的方法可以在没有这么多样板代码的情况下做到这一点。

创建一个名为 PersonNSManagedObject 的子class,并给它一个 @NSManaged var firstName: String 属性。然后在您的数据模型中,创建一个名为 Person 的实体并将其 class 设置为 Person。然后添加 firstname 属性 到它。

我们的书有更多关于如何创建属性、classes 等的详细信息,https://www.objc.io/books/core-data/ -- and the preview covers how to model data: https://www.objc.io/books/core-data/preview/

所以您收到的答案是直接使用属性的正确 CoreData 方法。不过,关于 Graph 的问题,上述答案并未正确回答。完成您喜欢的事情的最简单方法是围绕您正在管理的图形实体对象创建一个包装器 class。

这将为您提供所有 CoreData 功能而无需工作,加上直接使用属性的优雅。

如果您打算使用 Graph,我建议您按原样使用它,直到您感到舒服为止。原因是,如果您开始在任何地方创建包装器,Graph 提供的附加功能将难以使用,除非您知道自己在做什么。