NSFetchedResultsController performFetch on background thread

Viewed 5734

I have to perform a fetch via NSFetchedResultsController on a background thread.

My current solution is structured like that:

dispatch_queue_t fetchQueue = dispatch_queue_create("backgroundfetching", NULL);

dispatch_async(fetchQueue,^{
    // 1. Create NSManagedObjectContext
    // 2. Create NSFetchRequest
    // 3. Create NSFetchedResultsController
    // 4. PerformFetch

    dispatch_async(dispatch_get_main_queue(),^{
        [[self table] reloadData];
    });
});

dispatch_release(fetchQueue);

My first tests ran well but is that the appropriate way?

2 Answers
Related