2014-11-22 48 views
0

我正在将一些数据存储在数据中。当我点击按钮时,coredata中的数据将被删除。 我正在使用下面的代码。从coredata中删除对象时,应用程序崩溃并出现错误

NSManagedObjectContext *context = [[YPOAppDelegate sharedAppDelegate] managedObjectContext]; 
NSManagedObjectModel *model = [[YPOAppDelegate sharedAppDelegate] managedObjectModel]; 

for (NSEntityDescription *entity in model) { 
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    [fetchRequest setEntity:entity]; 
    [fetchRequest setIncludesSubentities:NO]; 
    NSArray *objects = [context executeFetchRequest:fetchRequest error:nil]; 
    NSLog(@"objects ===%d",objects.count); 
    for (NSManagedObject *managedObject in objects) 
    { 
      [context deleteObject:managedObject]; 
    } 
} 

NSError *err; 

[context save:&err]; 

它得到一个错误,应用程序是崩溃的是终止应用程序由于未捕获的异常“NSObjectInaccessibleException”,理由是:“CoreData不能履行的过错” 0x7e3937f0

如何解决这个崩溃问题。请给我你的建议。

+0

你有没有与'无动作'的'删除规则'有关系的实体吗?这可能会导致这种错误。 – pbasdf 2014-11-22 11:14:37

+0

使用[context deleteObjects:]而不是for循环。 – CW0007007 2014-11-24 09:51:52

回答

0

在删除之前请先天气你有那个特定对象吗?

if ([ListObjetcts existingObjectWithID:objects.objectID error:&error]) 
    { 

    } 
相关问题