gpt4 book ai didi

ios - 核心数据父实体生成的NSManagedObject子类

转载 作者:行者123 更新时间:2023-12-01 19:21:00 26 4
gpt4 key购买 nike

我的模型中有一个父实体“列表”和一个名为“UserList”的子实体(子实体),这只是一种列表类型。 “UserList”没有自己的属性或关系,它从List继承了所有内容。 List与ListItem有许多关系。

我要求XCode 4.2生成NSManagedObject子类。
对于列表,它会生成我期望的内容,

- (void)insertObject:(NSManagedObject *)value inListItemsAtIndex:(NSUInteger)idx;
- (void)removeObjectFromListItemsAtIndex:(NSUInteger)idx;
...

但是,生成的“UserList”类未声明任何方法,如果将其声明为“List”的子类,那将是可以的,但这不是它生成的方法。
@interface UserList : NSManagedObject
@end

UserList真的是List的子类吗?我可以只更改标题吗?还是发生了更复杂的事情?

最佳答案

需要检查的几件事。首先,确保为List和UserList实体都指定了一个类名,然后确保UserList已将List声明为其父实体。

发电机是挑剔的。如果您没有在模型GUI中明确分配类名,则它会即时生成它们。不幸的是,这意味着,根据生成它们的顺序,有些可能无法使用正确的信息生成(首先生成Image UserList……如果您未明确指定List的类名,它只会使用NSManagedObject)。

按照约定,我总是在模型GUI中专门分配类名称。当我为每个实体专门分配一个类时(在该名称下给实体命名),我还没有看到这种情况的发生,但是我猜可能会发生。

尝试重新生成类文件。这次可能只是正确生成了。

编辑

评论后澄清...

注意:不幸的是,Xcode在此问题上非常一致。如果您未明确为实体提供类名,则引用该类的其他人将使用“错误的”类名生成。

我建议为您的工作流程选择以下选项之一。

  • 始终在GUI中为每个实体分配类名称。
  • 首次生成时,始终生成两次类。
  • 使用生成器https://github.com/rentzsch/mogenerator#readme代替Xcode类生成器。
  • 关于ios - 核心数据父实体生成的NSManagedObject子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10368539/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com