牛骨文教育服务平台(让学习变的简单)
博文笔记

第三篇《iOS CoreData创建managedObjectContext失败》

创建时间:2016-08-29 投稿人: 浏览次数:756

   今天继续,还是坑,在用core data 的时候报错了,话不多说直接上代码!

-(void)saveWithDeviceToken:(NSString *)deviceToken
                  ClientId:(NSString *)clientId
                 ClientKey:(NSString *)clienKey{
    
    NSLog(@"bundle:%@",[NSBundle mainBundle]);
    
    NSEntityDescription *description = [NSEntityDescription entityForName:@"DeviceInfo" inManagedObjectContext:_manager.managedObjectContext];
    
    DeviceInfo *devInfo = [[DeviceInfo alloc] initWithEntity:description insertIntoManagedObjectContext:_manager.managedObjectContext];
    
    devInfo.deviceToken = deviceToken;
    devInfo.clientId = clientId;
    devInfo.clientKey = clienKey;
    devInfo.appId = appID;
    devInfo.appKey = appKEY;
    devInfo.deviceId = [CommonService readUUIDFromKeyChain];
    
    [_manager saveContext];
    
}
很简单的一个保存数据的方法,结果运行出错,错误提示:

Terminating app due to uncaught exception "NSInvalidArgumentException", reason: "+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name "DeviceInfo""

查询得知好像是因为在创建context的过程中NSPersistentStoreCoordinator 这个对象为 nil导致。但是如何解决呢?找方法去了,找到回来更新哈~

更新说明:这个问题应该是未设置代理,所以传不了值导致,因此下期更新如何创建类的代理,也就是iOS中的代理模式。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。