CoreData MagicalRecord崩溃:致命异常:NSObjectInaccessibleException

时间:2015-12-01 18:34:32

标签: ios core-data nsmanagedobject nsmanagedobjectcontext magicalrecord

我已经看到了其他几个关于此的线索,但还没有找到一个好的解决方案。这是我在崩溃报告中看到的崩溃,虽然我无法自己重现:

Fatal Exception: NSObjectInaccessibleException
CoreData could not fulfill a fault for '0xd00000001ff80004... 

以下是确切的代码:

NSDictionary *newCats = (cats from server)

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {

    NSMutableSet *existingIds = [NSMutableSet set];

    NSArray *allCats = [Cat MR_findAllInContext:localContext];
    for (Cat *cat in allCats) {
        if (cat.managedObjectContext != nil) {
            [existingIds addObject:cat.cat_id]; //CRASH!!!
        }
    }

    NSMutableArray *newIds = [NSMutableArray array];
    for (NSDictionary *catData in newCats) {
        NSString *catId = catData[@"id"];
        [newIds addObject:catId];
        [existingIds removeObject:catId];
    }

    for (NSString *sId in existingIds) {
        Cat *cat = [Cat MR_findFirstByAttribute:@"cat_id" withValue:sId inContext:localContext];
        [cat MR_deleteEntityInContext:localContext];
    }
}

正如您所看到的,我只是想收集现有ID的列表,因此我可以与从服务器收到的ID进行比较,并删除服务器上不再存在的本地Cats。

任何人都可以对此有所了解吗?用户在这里看到了大量的崩溃。

0 个答案:

没有答案