核心数据实体命名约定

Boo*_*oon 5 core-data ios

核心数据实体的命名是否有约定?我听到的关于不给 Core Data 实体添加前缀的论点是因为它们不可能发生冲突,因为它们只需要在模型中唯一,但这是不正确的,因为生成的 NSManagedObject 子类仍然可能与现有的 Objective-C 类发生冲突。

因此,对我来说,对核心数据实体做两件事似乎是合乎逻辑的:用我的项目类前缀作为前缀,并用实体作为后缀。这样,我知道它是一个核心数据实体,并且它的名称永远不会与任何其他类冲突。

Jos*_*fni 1

我实际上已经看到了带有项目类前缀和不带有项目类前缀的前缀。我从来没有见过添加后缀。我更喜欢没有项目前缀,因为如果您有要同步的远程数据库,我将使用相同的实体名称。然后,如果您发布了公共 API,您真的希望您的项目前缀到处都是吗?例如,Stripe 的实体是 Customer、Card 等。他们在唯一标识符中使用前缀,这是我喜欢的。另外,如果您对其他类使用项目前缀,则不会面临覆盖的风险,就像您在 OP 中提到的那样。