首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用核心数据的父实体继承和逆关系

使用核心数据的父实体继承和逆关系
EN

Stack Overflow用户
提问于 2012-08-30 16:20:51
回答 2查看 718关注 0票数 1

我对核心数据有点陌生,目前正在尝试利用父实体。现在,我有这样的模型

实体: ThemePark -> hasAttractions (一对多关系) WaterPark -> hasAttractions (一对多关系) 景点-> inThemePark (hasAttractions的逆关系) 景点-> inWaterPark (hasAttractions的逆关系)

我想要的是一个父实体,比方说GenericPark,它具有属性"hasAttractions",但是我不确定应该如何定义逆关系。

如果我做下面的事情

景点-> inGenericPark ( hasAttractions of HasAttractions in GenericPark)

如何确定GenericPark是waterPark还是ThemePark?

在使用父实体的同时,我应该如何修改这个模型?

提前谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-30 16:33:51

您应该为数据模型检查器中的每个实体分配一个自定义类(它可以具有与实体相同的名称),并为每个实体创建NSManagedObject子类(如果您还没有这样做的话)。

然后ThemeParkWaterPark都是GenericParc的子类,您可以测试GenericParc对象,例如

代码语言:javascript
复制
if ([genericParc isKindOfClass:[ThemeParc class]]) {
    // It is a ThemePark:
    ThemeParc *themePark = (ThemeParc *)genericPark;
    // ... 
}
票数 1
EN

Stack Overflow用户

发布于 2012-08-30 17:02:42

每个NSManagedObject实例,无论您是否定义了自定义子类,都有一个关联的NSEntityDescription,它将告诉您它是什么样的对象。只需调用有关托管对象的-entity即可。

例如:

代码语言:javascript
复制
if ([@"WaterPark" isEqualToString:[[somePark entity] name]]) {
  // do watery things
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12201304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档