Core data 西百利;MOGENATOR方便存取器

Core data 西百利;MOGENATOR方便存取器,core-data,simperium,Core Data,Simperium,我在我的项目中使用Simperium和mogenerator。我已经将SPManagedObject实体添加到模型中,并将其设置为其他实体的父类。对于每个实体,mogenerator自动创建一个u.h和u.m文件,该文件具有多个方便的访问器。我修改了mogenerator构建脚本,使这些子类中的每一个子类都是SPManagedObject,而不是NSManagedObject。实体类只是导入相应的h.h文件 我的问题是,在使用任何便利访问器时,我都会遇到运行时错误。例如,对于名为myIntege

我在我的项目中使用Simperium和mogenerator。我已经将SPManagedObject实体添加到模型中,并将其设置为其他实体的父类。对于每个实体,mogenerator自动创建一个u.h和u.m文件,该文件具有多个方便的访问器。我修改了mogenerator构建脚本,使这些子类中的每一个子类都是SPManagedObject,而不是NSManagedObject。实体类只是导入相应的h.h文件


我的问题是,在使用任何便利访问器时,我都会遇到运行时错误。例如,对于名为myInteger的Integer32类型属性的实体,类文件属性为NSNumber。Mogenerator创建一个名为myIntegerValue的访问器。我得到的错误是myIntegerValue是无法识别的SPManagedObject选择器。我显然可以解决这个问题,但这似乎表明了一个更大的问题。有什么想法吗?谢谢

这种问题通常是由于未能在核心数据模型编辑器中配置类名造成的。您可能有一个类
Foo
和一个实体
Foo
,但它们不会自动组合在一起(不要求它们具有相同的名称)。如果不这样做,则会得到
NSManagedObject
的实例,而不是子类的实例。当然,
NSManagedObject
没有这些方法

在模型编辑器中选择实体并查看右侧的模型检查器。确保已配置类名


谢谢汤姆。我确实按照simperium文档中的说明将类设置为SPManagedObject。谢谢你的帮助。