首页 文章

核心数据实体错误与xmpp

提问于
浏览
0

我正在使用XMPP Framework的核心数据消息存储,我想在我的应用程序中添加另一个核心数据实体,我创建.xcdatamodeld并创建实体,我将代码添加到我的 AppDelegate ,但是我收到错误 . 是不是因为我使用XMPP Framework的核心数据消息存储以及如何解决它?

NSManagedObjectContext *context = [self managedObjectContext_messageList];
NSManagedObject *contexNew = [NSEntityDescription insertNewObjectForEntityForName:@"UserProfileEntity" inManagedObjectContext:context];
[contexNew setValue:@1 forKey:@"id"];
[contexNew setValue:@"name TEST" forKey:@"name"];
[contexNew setValue:@"test YEP" forKey:@"test"];
NSError *error;
if ([context save:&error])
{
    NSLog(@"%@", error.description);
}

它在第二行崩溃了

'entityForName:nil不是合法的NSManagedObjectContext参数,用于搜索实体名称'UserProfileEntity''

1 回答

  • 0

    该错误意味着 nil 不是为托管对象上下文传递的合法内容 . 那么,你是否以正确的方式注入了背景?我的意思是以下一行

    NSManagedObjectContext *context = [self managedObjectContext_messageList];
    

    应该有一个对应的像

    yourController.managedObjectContext_messageList = theContextYouWantToInject;
    

    要么

    [yourController setManagedObjectContext_messageList:theContextYouWantToInject];
    

    如果你在这里使用segues一个有用的讨论:'+entityForName: nil is not a legal NSManagedObjectContext parameter - Core Data .

    此外,您确定要提供有效的商店协调员吗?如需进一步参考,请查看The Core Data Stack .

相关问题