CoreData抽象实体与关系

时间:2014-09-06 18:31:57

标签: ios objective-c core-data relationship

我遇到这种情况:

我有两个CoreData实体:

MUSIC_ACTIVITY 是一个抽象的CoreData实体;

位置:有一些属性:城市,地址,......

BAR :有一些属性; PUB :有一些属性;

MUSIC_ACTIVITY

我与 LOCATION (1to1)有关系。

MUSIC_ACTIVITY BAR 的PARENT实体; MUSIC_ACTIVITY PUB 的PARENT实体;

我自动生成这个模型的类.. 所以: 在 MUSIC_ACTIVITY 中,我有一个属性 LOCATION LOCATION 我有属性 MUSIC_ACTIVITY (反向)

如何在 BAR PUB 实体中访问 LOCATION 信息?

例如:我使用'地址'来声明与LOCATION的关系。 (如姓名)。所以在MUSIC_ACTIVITY中我有一个属性地址(LOCATION类型)。 在PUB中,我需要覆盖init ..例如:

-(id) initWithEntity:(NSEntityDescription *)entity insertIntoManagedObjectContext:(NSManagedObjectContext *)context
{
    self = [super initWithEntity:entity insertIntoManagedObjectContext:context];
    if (self) {
        self.name = @"MY NAME";
        self.address = .... ///ERROR ////
    }
    return self;
}

但我不能使用self.address ......

1 个答案:

答案 0 :(得分:1)

您可以像访问父类的属性一样访问父实体的属性。

只是一些XCode中实体继承的调试技巧:

  • 仔细检查父实体
  • 将xcdatamodel查看器的大纲样式更改为分层

我也推荐MOGenerator。更改模型时,您不必手动重新创建支持类定义。