数据核心 NSException
Posted
技术标签:
【中文标题】数据核心 NSException【英文标题】:Data-core NSException 【发布时间】:2014-09-10 11:48:34 【问题描述】:我不知道我的问题出在哪里,因为实体“Utente”存在。
错误代码:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+entityForName:nil 不是搜索实体名称“Utente”的合法 NSManagedObjectContext 参数 *** 首先抛出调用堆栈: ( 0 核心基础 0x0000000101bf0495 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x00000001016f099e objc_exception_throw + 43 2 核心数据 0x0000000101e76599 + [NSEntityDescription entityForName:inManagedObjectContext:] + 217 3 核心数据 0x0000000101eb2e7e +[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:] + 30 4 VucmpraJson 0x000000010000514b -[LoginViewController 登录:] + 4843 5 UIKit 0x000000010029ef06-[UIApplication sendAction:to:from:forEvent:] + 80 6 UIKit 0x000000010029eeb4-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 17 7 UIKit 0x000000010037b880-[UIControl_sendActionsForEvents:withEvent:] + 203 8 UIKit 0x000000010037adc0-[UIControl touchesEnded:withEvent:] + 530 9 UIKit 0x00000001002d5d05-[UIWindow_sendTouchesForEvent:] + 701 10 UIKit 0x00000001002d66e4 -[UIWindow 发送事件:] + 925 11 UIKit 0x00000001002ae29a -[UIApplication 发送事件:] + 211 12 UIKit 0x000000010029baed _UIApplicationHandleEventQueue + 9579 13 核心基础 0x0000000101b7fd21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 14 核心基础 0x0000000101b7f5f2 __CFRunLoopDoSources0 + 242 15 核心基础 0x0000000101b9b46f __CFRunLoopRun + 767 16 核心基础 0x0000000101b9ad83 CFRunLoopRunSpecific + 467 17 图形服务 0x00000001040d0f04 GSEventRunModal + 161 18 UIKit 0x000000010029de33 UIApplicationMain + 1010 19 VucmpraJson 0x0000000100021d13 主要 + 115 20 libdyld.dylib 0x00000001025f15fd 开始 + 1 ) libc++abi.dylib:以 NSException 类型的未捕获异常终止代码:
@property (nonatomic,strong) NSManagedObjectContext* managedObjectContext;
。 . .
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject * Utente = [NSEntityDescription insertNewObjectForEntityForName:@"Utente" inManagedObjectContext:context];
[Utente setValue: emailText.text forKey:@"email"];
NSError *error;
//[context save:&error];
if (![context save:&error])
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
实体:乌腾特
属性:电子邮件;密码
感谢很多人
【问题讨论】:
managedObjectContext
在哪里设置?
【参考方案1】:
nil 不是搜索实体名称“Utente”的合法 NSManagedObjectContext 参数
表示您的托管对象上下文为零。检查self.managedObjectContext
分配。
编辑
if (! [self managedObjectContext])
NSLog(@"You will receive your exception");
else
// Insert new entity into specified context
【讨论】:
如何检查这个??对不起,但我是第一次做核心数据 在展示 LoginViewController 之前,您是否已将值分配给 managedObjectContext?以上是关于数据核心 NSException的主要内容,如果未能解决你的问题,请参考以下文章