Комментарий выше верен.Некоторая дополнительная информация.
1) Таблица будет обновляться только при вызове [tableView reloadData]
или одного из других методов перезагрузки
2) Если вы установите делегат для NSFetchedResultsController, на который вы можете ответитьизменения модели и перезагрузка таблицы
3) Изменение даты не является изменением модели (если вы не обновляете дату в самой модели), а NSFetchedResultsController будет обновляться только в том случае, если обнаружит, что его контекст управляемого объекта имеетизменилось.
4) Вам нужно сделать fetchedResultsController:performFetch:error
, когда при смене дня ч / б вы меняете предикат (т.е. запрос).В противном случае таблица будет перезагружена со старыми данными.
Чтобы обновить таблицу на основе изменения даты, вам необходимо обнаружить изменение даты с любым интервалом, который вам нравится, и перезагрузить таблицу в это время.Один из способов сделать это - вычислить интервал между текущим временем и полуночью и установить таймер на срабатывание после этого интервала.Когда таймер сработает, измените предикат, executeFetch с контроллером результатов и перезагрузите таблицу.Затем установите новый таймер до следующей полуночи.Если вы хотите, чтобы это было сделано во временном поясе пользователя, вам также необходимо это учесть.
РЕДАКТИРОВАТЬ: уточненный ответ, что performFetch
необходимо, когда предикат изменяется