代码之家  ›  专栏  ›  技术社区  ›  BLeB

利用iPhone核心数据建立多种关系

  •  0
  • BLeB  · 技术社区  · 14 年前

    当我在Xcode中定义实体之间的多对多关系,然后从实体生成数据类时,我会得到一个定义了以下方法的头:

    @interface PriceList (CoreDataGeneratedAccessors)
    - (void)addItemsObject:(PriceListItem *)value;
    - (void)removeItemsObject:(PriceListItem *)value;
    - (void)addItems:(NSSet *)value;
    - (void)removeItems:(NSSet *)value;
    @end
    

    PriceListItem *item = [NSEntityDescription insertNewObjectForEntityForName:@"PriceListItem" inManagedObjectContext:managedObjectContext];
    item.cat = [attributeDict valueForKey:@"c"];
    item.sel = [attributeDict valueForKey:@"s"];
    [self addItemsObject:item];
    

    据我所知,我不必实现这些方法,它们是在运行时生成的。有什么想法吗?

    self 在这个上下文中是PriceList的一个子类。

    2 回复  |  直到 14 年前
        1
  •  0
  •   TechZen    14 年前

    [[self super] class]

    …确认一下。

        2
  •  0
  •   Community Nick Dandoulakis    4 年前

    你需要告诉你的模型你刚刚生成的新的子类。查看您的模型,选择实体,并在右侧将类从NSManagedObject更改为子类的名称。否则核心数据只会返回一个NSManagedObject,而不知道子类的存在。