第三篇《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中的代理模式。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: PHP根据键值,对二维数组重新进行分组
- 下一篇: xcode include unit tests