我使用相同的上下文使用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
答案 0 :(得分:2)
您没有为数据模型中的实体分配自定义类名,因此上下文只返回通用托管对象实例。现在它只是说“NSManagedObject”而不是“Credit”。
答案 1 :(得分:1)
据推测,您已经仔细检查过该实体确实已映射到模型编辑器中的Credit
类?