iOS noob签入。
我一直在学习很棒的核心数据框架,并想知道核心数据关系名称是否有任何命名约定。
由于在通常的SQL数据库中,您没有明确定义关系的名称,但这并不是那么清楚,尽管我理解Core Data并不是传统的数据库意义。
提前谢谢!
答案 0 :(得分:2)
首先:CD是一个ORM。因此,它对数据的看法是对象图的视图,而不是SQL关系的视图。
第二:因此没有特殊的命名约定。 Objective-C的命名约定像往常一样使用,因为它模拟了一个通常的对象图,见上文。
第三:你说得对,许多关系有复数形式,而一对一关系有单数形式。但是,如果您居住在hungary之外,则使用目标表的名称^ Wtype来命名它是不正确的。 ;-)在许多情况下 - 如在您的示例中 - 结果是这样的“类型名称”,但没有这样的规则。我们有另一个例子:
您有一个实体类型Group
,它引用Person
类型的成员,并且具有Person
类型的领导者。应用您的规则结果将是(使用核心数据与否):
@interface Group
@property Person *person;
@property NSSet *persons;
@end
这显然是错误的。名称应为:
@interface Group
@property Person *leader;
@property NSSet *members;
@end
这显然没有类型名称。
答案 1 :(得分:0)
好的,实际上并没有命名约定本身。但只需使用连接到的关系的实体名称。
例如,用户< - >>请注意,用户实体与Note有很多关系,我们可以将用户与注释的关系命名为'notes',同时将Note从User命名为'user'。多元化用于与多种类型的关系。
我觉得很蠢。