【问题标题】:App crashed with error while deleting objects from coredata从 coredata 中删除对象时应用程序因错误而崩溃
【发布时间】:2015-01-20 10:53:17
【问题描述】:

我正在数据中存储一些数据。当我单击按钮时,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 的错误”

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

【问题讨论】:

  • 您是否有任何与Delete RuleNo Action 有关系的实体?这可能会导致这种错误。
  • 使用 [context deleteObjects:] 而不是你的 for 循环。

标签: ios objective-c iphone core-data ios7


【解决方案1】:

在删除之前,请确定您是否拥有该特定对象?

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

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多