使用'insertNewObjectForEntityForName'创建的对象的意外类类型

时间:2011-06-14 20:41:17

标签: iphone objective-c core-data

我使用相同的上下文使用insertNewObjectForEntityForName创建了两个不同的对象 我的问题是,对于第一个对象Event,对象类型被正确定义为Event,而对于第二个对象应该是Credit类型,对象类型是{ {1}}(这意味着我无法调用派生类中定义的方法)。

对象1:(正如预期的那样)

NSManagedObject

对象2:(预期的课程为Event *event = (Event*)[NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:context]; (gdb) po event <Event: 0x62b3f00> (entity: Event; id: 0x62b3fb0 <x-coredata:///Event/tD3B27884-D303-4FDE-9D0F-D7DC009E2EBB18> ; data: { ... }) 而不是Credit

NSManagedObject

2 个答案:

答案 0 :(得分:2)

您没有为数据模型中的实体分配自定义类名,因此上下文只返回通用托管对象实例。现在它只是说“NSManagedObject”而不是“Credit”。

答案 1 :(得分:1)

据推测,您已经仔细检查过该实体确实已映射到模型编辑器中的Credit类?