При сохранении нового события будем слать уведомление для этого в метод setNotification класса DetailViewController добавим:
В классе MainTableViewController удалим метод viewDidAppear: и создадим новый метод reloadTableViewWhenNewEvent.
Таким кодом мы добились того чтобы таблица перезагружалась только при добавлении новых записей, а не всегда при открытии окна.
[[NSNotificationCenter defaultCenter] postNotificationName:@"NewEvent" object:nil];
В классе MainTableViewController удалим метод viewDidAppear: и создадим новый метод reloadTableViewWhenNewEvent.
- (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTableViewWhenNewEvent) name:@"NewEvent" object:nil]; NSArray *array = [[UIApplication sharedApplication] scheduledLocalNotifications]; self.arrayEvents = [[NSMutableArray alloc] initWithArray:array]; } - (void)reloadTableViewWhenNewEvent { [self.arrayEvents removeAllObjects]; NSArray *array = [[UIApplication sharedApplication] scheduledLocalNotifications]; self.arrayEvents = [[NSMutableArray alloc] initWithArray:array]; [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade]; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; }
Таким кодом мы добились того чтобы таблица перезагружалась только при добавлении новых записей, а не всегда при открытии окна.