核心数据 - 如何生成CoreDataGeneratedAccessors?

时间:2012-02-27 07:56:26

标签: iphone ios xcode core-data

我已经浏览了苹果开发网站,google和堆栈溢出,以找出CoreDataGeneratedAccessors背后的基础知识。

我正在使用Xcode 4.2和核心数据。我正确地创建了实体及其关系,包括反向。

以下代码失败:

    self.remdetail = [NSEntityDescription insertNewObjectForEntityForName:@"RemDetail" inManagedObjectContext:context];
    [rem addRemDetailObject:remdetail];  --> I'm trying to add rem detail to rem object

因为没有自动生成的访问器方法,所以我将以下代码手动放在NSManagedObject子类之一中。当我为我的实体创建NSManagedObjects时,未生成以下代码。我尝试通过浏览一些文章和建议自动生成访问器,如Xcode copy&粘贴等但没有生成以下代码。

in rem ManagedObject - >

@interface Rem (CoreDataGeneratedAccessors)
- (void)addRemDetailObject:(RemDetail *)value;
- (void)removeRemDetailObject:(RemDetail *)value;
- (void)addRemDetail:(RemDetail *)value;
- (void)removeRemDetail:(RemDetail *)value;
@end

有谁知道如何生成CoreDataGeneratedAccessors?

谢谢, 拉马

4 个答案:

答案 0 :(得分:18)

您是否在关系属性中检查了“To-Many Relationship”开关?

答案 1 :(得分:3)

@ Julien的答案是解决方案的一部分,但这是我如何解决它:

  1. 确保你有多对多的关系。
  2. 如果您已经为您的实体创建了一个类,请将其删除,然后打开您的xcdatamodel,转到编辑器 - >创建NSManagedObject子类,然后按照向导进行操作。
  3. 生成的类将具有您正在寻找的CoreDataGeneratedAccessors

答案 2 :(得分:1)

看看这里:

https://github.com/rentzsch/mogenerator

这个小工具将为您生成访问者类 - 我在相当多的项目中使用它并且效果很好!

答案 3 :(得分:0)

1)通过Xcode创建了新版本的核心数据模型。

2)修复关系(在两者之间添加了新关系。https://developer.apple.com/library/watchos/documentation/Cocoa/Conceptual/CoreData/HowManagedObjectsarerelated.html)

3)重新创建NSManagedObject子类