I have a UITableView that displays a list of message subjects. When a message is deleted, it is marked as deleted, rather than actually removed from the MOC.
The list is backed by an NSFetchedResultsController. I initializes the FRC with a predicate: NSEntityDescription* entity = [NSEntityDescription entityForName: @"NewsItem" inManagedObjectContext: appDelegate.managedObjectContext]; NSFetchRequest* req = [[NSFetchRequest alloc] init]; req.entity = entity; NSPredicate* pred = [NSPredicate predicateWithFormat: @"deleted == false"]; req.predicate = pred; NSSortDescriptor* sd = [[NSSortDescriptor alloc] initWithKey: @"date" ascending: false]; NSArray* sds = [[NSArray alloc] initWithObjects: sd, nil]; [sd release]; req.sortDescriptors = sds; [sds release]; mFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest: req managedObjectContext: appDelegate.managedObjectContext sectionNameKeyPath: nil cacheName: @"AlertsCache"]; [req release]; mFetchedResultsController.delegate = self; But when UI actions cause an instance to have its deleted property set, while I get a changeUpdate notification, it doesn't seem to actually remove it from the fetchedResults. If I try to delete the table row for that item, it throws an exception, since there are too many items in the fetchedObjects array. I tried issuing the performFetch again, but it has no effect. When does the FRC actually send insert/delete notifications? Does it take any fetch predicates into account when it does this? If not, it's not very useful. TIA, Rick _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com