这个问题与我在这里发布的问题有关:Iphone核心数据在保存 时崩溃然而错误是不同的所以我正在提出一个新问题.现在,在尝试将新对象插入到managedObjectContext中时出现此错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '"MailMessage" is not a subclass of NSManagedObject.'
Run Code Online (Sandbox Code Playgroud)
但显然它是:
@interface MailMessage : NSManagedObject { ....
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时:
NSManagedObjectModel *managedObjectModel = [[self.managedObjectContext
persistentStoreCoordinator] managedObjectModel];
NSEntityDescription *entity =[[managedObjectModel entitiesByName]
objectForKey:@"MailMessage"];
NSManagedObject *newObject = [[NSManagedObject alloc] initWithEntity:entity
insertIntoManagedObjectContext:self.managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
当我不提供MFMailComposeViewController时,它运行正常,但如果我在中运行此代码
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
Run Code Online (Sandbox Code Playgroud)
方法,它在创建newObject变量时抛出上述错误.使用print对象时的实体对象产生以下内容:
(<NSEntityDescription: 0x1202e0>) name MailMessage, managedObjectClassName MailMessage,
renamingIdentifier MailMessage, isAbstract 0, superentity name (null), properties {
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,所以我认为managedObjectContext完全无效.我不知道为什么说MailMessage在那时不是NSManagedObject的子类,而不是另一个.
任何帮助将不胜感激,提前谢谢.
Ben*_*zar 10
MAILMESSAGE类可以在一个库中实现或框架别处.由于目标C没有实现的命名空间,两个中的一个将被使用.哪一个未定义.尝试为您的班级提供不同的名称,以便快速解决问题.
| 归档时间: |
|
| 查看次数: |
2251 次 |
| 最近记录: |