我很好奇构建NSManagedObjects,特别是它们的嵌套。这是我第一次设计数据模型,所以让我先解释一下我的问题。假设我有一个NSManagedObject用户。用户有许多不同的属性:
该对象中有很多属性,可能还有更多属性。所以我的问题基本上是,嵌套NSManagedObjects 是安全的,甚至是否正确?所以我没有所有这些属性,而是:
其中UserInformation和UserRegistration将是包含某些原始属性的NSManagedObjects。我知道这可能不是嵌套对象的最佳情况,但如果我有更复杂的对象,如果它们是嵌套的,那么会更容易理解。
提前感谢您的投入!
答案 0 :(得分:0)
这样做的正确方法是绘制ER模型并定义实体。如果这样做,您为UserInformation和UserRegistration定义一个实体,并与User建立一对一的关系,那么这样做是没有问题的。对于关注者和以下案例,您必须定义自我关系(自我实体https://stackoverflow.com/a/4504770/474740一对多)。
使用关系定义模型并使用特定类型(一对一,一对多)标记它们。
请记住,在保存和获取数据时,您可以更轻松地使用它。
答案 1 :(得分:0)
这是正确和安全的,但是如果你不打算将它们变成原子的,可重复使用的或者有其他一些可以从中受益的设计,那么它会提出反对意见。这就是为什么......你必须编写更长的语句才能访问你的属性,提取的数据库操作必须包含连接来获取关系属性,而你实际上并没有建模正确的对象......但是如果你出于某些原因需要除了不喜欢具有大量属性的模型之外,那就继续吧。