Simperium&发电机便利存取器

时间:2013-08-05 19:47:07

标签: core-data simperium

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

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

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here