I am using an NSFetchedResultsController that uses a predicate to fetch some managed objects. I have always assumed that the NSFetchedResultsController is updated when the objects change, i.e. if I have a predicate "box == 3" and box is changed to 2, it won’t be fetched.
However, even though I changed the objects and saved the managed object context, I can still access the object through my FRC. Even when deleting the cache, this is still possible.
Is this the correct behavior?
After some further testing I think it is save to assume that the
FRCis not updated without me doing something. I only call-performFetch:once and I did not implement the delegate. According to the docs theFRCseems to only then register for change notifications: