Skip to content

iCloud and CoreData Article: Add section about when to Update UI #6

@arnoappenzeller

Description

@arnoappenzeller

The iCloud and CoreData Article is in fact pretty good but for me there was one thing missing.

I wondered how to figure out when to update the UI when an App is first launched and the iCloud Store is filled with data.
I tought listening for the Notification in storesWillChange: would be enough.
In fact you need to update when the storeDidChange: like this (otherwise the managedObjectContext would still be different to the iCloud content):

- (void)storesDidChange:(NSNotification *)note {
    //check if iCloud is imported
    NSNumber *storeVal = [note.userInfo objectForKey:NSPersistentStoreUbiquitousTransitionTypeKey];
    if (storeVal.integerValue == NSPersistentStoreUbiquitousTransitionTypeInitialImportCompleted) {
        NSLog(@"On iCloud Store now");
        //ensure that the UI will be updated d on the mainthread for UI threadsafety otherwise
        //this will cause a lot of trouble...
        dispatch_async(dispatch_get_main_queue(), ^{
           //update UI });
    }
}

I'm not sure if this was the focus of the article or I didn't read it carefully enough but maybe it's worth a consideration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions