【问题标题】:Core Data - how to generate CoreDataGeneratedAccessors?Core Data - 如何生成 CoreDataGeneratedAccessors?
【发布时间】:2012-03-16 17:27:49
【问题描述】:

我浏览了苹果开发网站、谷歌和堆栈溢出,以了解 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 复制和粘贴等)来自动生成访问器,但没有生成以下代码。

in rem ManagedObject -->

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

有人知道如何生成 CoreDataGeneratedAccessors 吗?

谢谢, 罗摩

【问题讨论】:

    标签: iphone ios xcode core-data


    【解决方案1】:

    您是否检查了关系属性中的“多对多关系”开关?

    【讨论】:

    • 谢谢。检查关系属性中的开关“多对多关系”就可以了。
    【解决方案2】:

    @Julien 的回答是解决方案的一部分,但我是这样解决的:

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

    生成的类将包含您正在寻找的CoreDataGeneratedAccessors

    【讨论】:

    • 不确定第 1 点,但就我而言,第 2 点对于 Mac OS X 10.11.1 上的 Xcode 7.1 来说已经足够了
    【解决方案3】:

    看看这里:

    https://github.com/rentzsch/mogenerator

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

    【讨论】:

      【解决方案4】:

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

      2)修复关系(新增了两者的关系https://developer.apple.com/library/watchos/documentation/Cocoa/Conceptual/CoreData/HowManagedObjectsarerelated.html)

      3)重新创建了 NSManagedObject 子类

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-06
        • 2014-07-23
        • 2017-03-15
        • 1970-01-01
        • 2012-02-11
        • 2011-08-06
        • 1970-01-01
        • 2014-08-05
        相关资源
        最近更新 更多