Update NSFetchedResultsController using performBackgroundTask : <p>I have an <code>NSFetchedResultsController</code> and I am trying to update my data on a background context. For example, here I am trying to delete an object:</p>

<pre><code>persistentContainer.performBackgroundTask { context in
  let object = context.object(with: restaurant.objectID)
  context.delete(object)
  try? context.save()
}
</code></pre>

<p>There are 2 things I don't understand:</p>

<ol>
<li>I would have expected this to modify, <strong>but not save</strong> the parent context. However, the parent context is definitely being saved (as verified by manually opening the SQLite file).</li>
<li>I would have expected the <code>NSFetchedResultsController</code> to update when the background content saves back up to its parent, but this is not happening. Do I need to manually trigger something on the main thread?</li>
</ol>

<p>Obviously there is something I am not getting. Can anybody explain this?</p>

<p>I know that I have implemented the fetched results controller delegate methods correctly, because if I change my code to directly update the <code>viewContext</code>, everything works as expected.</p>
