ИМХО Я не думаю, что это хорошая практика, чтобы автоматически обновлять данные после полуночи или даже обновлять данные время от времени.Вы должны просто позволить пользователю делать это в любое время, а также перезагрузить данные при запуске приложения или при появлении главного окна.
Если вам действительно нужна эта функция, возможно, при каждом запуске приложения вы можете рассчитать оставшееся до полуночи время и использовать NSTimer
для запуска метода перезагрузки
timerNoTwo = [NSTimer scheduledTimerWithTimeInterval:secondsUntilMidnight target:self selector:@selector(refreshTableView) userInfo:nil NO];
И тогда
-(void)refreshTableView{ [tableView reloadData]; }