The meaning of the last sentence
... The returned array, however, is not updated because the managed objects are inserted, modified, or deleted.
(based on my experiments): If you keep a link to extracted objects
NSArray *result = [fetchedResultsController fetchedObjects];
then this array referenced by result will not be updated if objects are inserted, modified, or deleted. Thus, the emphasis is on "array , returned array is not ...".
But if you call
[fetchedResultsController fetchedObjects]
later, the return value is a new list of objects, including changes.
More precisely: if you set up a delegate, FRC tracks changes in the context of the managed entity and calls the functions of the FRC delegate. The delegate function is not called immediately when objects are inserted / modified / deleted, but either
- when the context is explicitly stored, or
- when change notifications are processed in a run loop.
As soon as controllerDidChangeContent: is called, a new call to [fetchedResultsController fetchedObjects] returns an updated list of objects.
source share