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

   今天继续,还是坑,在用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中的代理模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值