我有兩個不同的對象,我使用相同的上下文使用insertNewObjectForEntityForName
創建。
我的問題是對於第一個對象Event
,對象類型被正確定義爲Event
,而對於應該是Credit
類型的第二個對象,對象類型是NSManagedObject
(這意味着我無法調用方法定義在派生類中)。使用'insertNewObjectForEntityForName'創建的對象的意外類類型
對象1:(預期)
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: {
...
})
對象2:(預期類是Credit
而不是NSManagedObject
)
Credit *credit = (Credit*)[NSEntityDescription insertNewObjectForEntityForName:@"Credit" inManagedObjectContext:context];
(gdb) po credit
<NSManagedObject: 0x629fd50> (entity: Credit; id: 0x628caf0 <x-coredata:///Credit/tD3B27884-D303-4FDE-9D0F-D7DC009E2EBB36> ; data: {
...
})
該死的 - 編輯...我把它錯誤地映射到了「Credits」。謝謝! – 2011-06-14 21:00:49
是的,如果你錯過了,你不會得到任何警告。確保它始終正確的一種方式(顯然除了測試)是在模型編輯器中從模型生成類。 – Thom 2011-06-14 21:35:28