NSPrivateQueueConcurrencyType Not saving properly

You have to save the main context as well at some point, e.g. after saving the child context.

Saving the child context saves only to the main context, and saving the main context saves to the store file.

Like this (written on the phone, there will
be syntax errors):

// ...
[childContext save:&error];
[mainContext performBlock:^{
    [mainContext save:&error];
}];

In Swift 2.0 that would be:

do {
    try childContext.save()
    mainContext.performBlock { 
        do {
            try mainContext.save()
        } catch let err as NSError {
            print("Could not save main context: \(err.localizedDescription)")
        }
    }
} catch let err as NSError {
    print("Could not save private context: \(err.localizedDescription)")
}

Leave a Comment