2010-02-22 33 views
0

我尝试调用managedObjectContext上的save方法时出现以下错误。管理对象上下文删除,然后保存对象引发objc_exception_throw错误

#0 0x939214e6 in objc_exception_throw 
#1 0x01ded83b in -[NSObject doesNotRecognizeSelector:] 
#2 0x01d84676 in ___forwarding___ 
#3 0x01d606c2 in __forwarding_prep_0___ 
#4 0x01c618b6 in -[NSFetchedResultsController(PrivateMethods) _managedObjectContextDidChange:] 
#5 0x0003263a in _nsnote_callback 
#6 0x01d4f005 in _CFXNotificationPostNotification 
#7 0x0002fef0 in -[NSNotificationCenter postNotificationName:object:userInfo:] 
#8 0x01bc217d in -[NSManagedObjectContext(_NSInternalNotificationHandling)  _postObjectsDidChangeNotificationWithUserInfo:] 
#9 0x01c21763 in -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:withDeletions:withUpdates:withRefreshes:] 
#10 0x01ba65ea in -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] 
#11 0x01bdc728 in -[NSManagedObjectContext save:] 
  • 我做了一些改动OrderItem的实体来到这个下面的代码,在这里我想取消任何插入之前OrderItem的

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    [fetchRequest setEntity:[NSEntityDescription entityForName:@"OrderItem" inManagedObjectContext:managedObjectContext]]; 
    NSArray *deleteItems = [managedObjectContext executeFetchRequest:fetchRequest error:&error]; 
    for (id item in deleteItems) 
        [managedObjectContext deleteObject:item]; 
    
    if (![managedObjectContext save:&error]){ 
        NSLog(@"deleting OrderItem failed: %@, %@", error, [error userInfo]); 
        return FALSE; 
    } 
    

上线时出现错误[managedObjectContext保存:&错误]不去NSLog,但引发异常。

我在做什么错?有人告诉我如何,请?

回答

0

我的.xcdatamodel中有复杂的模式,其中OrderItem与有两个关系,DeleteRule被设置为Nullify

暂时更改为“不采取行动”解决了错误,即使它提出了一些警告,但我个人认为,的XCode不应该表现得这样。它应该填充值为&错误,让我知道我的模式有问题。

对此有何想法?

+1

如果您有警告,您必须清除这些警告,因为这些警告之一可能导致您的问题。任何答案都不能以警告作为可能的问题。 – 2010-02-23 20:26:50

+0

您好Marcus,我还没有想出如何解决这个错误。你对这个问题有一些提示,或者你需要我提供更多信息才能给出答案? – 2010-02-23 21:02:28

相关问题