1

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

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

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

4

2 回答 2

1

因此,您收到的答案是直接使用属性的正确 CoreData 方法。不过,关于 Graph 的问题,上述答案并未正确回答。完成您喜欢的最简单的方法是围绕您正在管理的 Graph Entity 对象创建一个包装类。

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

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

于 2016-02-01T19:06:58.150 回答
1

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

我们的书有更多关于如何创建属性、类等的详细信息,https ://www.objc.io/books/core-data/——预览涵盖了如何对数据进行建模:https://www.objc .io/books/core-data/preview/

于 2016-01-26T22:46:50.987 回答