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