今天继续,还是坑,在用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中的代理模式。
本文探讨了使用CoreData在iOS应用中保存数据时遇到的问题。具体表现为在尝试保存设备信息时程序崩溃,并抛出NSInvalidArgumentException异常。文章分析了异常产生的原因可能是由于NSPersistentStoreCoordinator对象未正确初始化导致,并提出了可能的解决方案,包括设置代理来传递必要的值。

1554

被折叠的 条评论
为什么被折叠?



