数据核心 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的主要内容,如果未能解决你的问题,请参考以下文章

使用 MKMapView、核心位置和核心数据

大数据三大核心技术:拿数据、算数据、卖数据!

核心数据道模式

通过迁移将核心数据实体及其数据移动到新的核心数据模型文件中

核心数据与用于核心数据的单个 MOC 和主线程合并冲突

核心数据——数据故障