У меня есть приложение Xcode, которое создает табличное представление, а затем заполняет его данными из базы данных sqlite, это отлично работает и позволяет мне выводить данные на новое представление и удалять и т. Д.,self.tableView reloadData не работает в viewWillAppear
Этот вид таблицы - это первый вид, загруженный в контроллер панели вкладок. Проблема возникает, когда я перехожу к другому представлению на том же контроллере, то есть создаю спортсмена, в этом представлении я могу добавить нового спортсмена в базу данных (что прекрасно работает), но когда я вернусь к представлению таблицы в контроллере панели вкладок, таблица такая же, мне нужно выйти и войти в систему, чтобы увидеть изменение в таблице,
Я попытался [self.tableView reloadData] в функции viewWillAppear, но это ничего не делает. Я знаю, что функция вызвана, поскольку я поставил NSLog в их только для спокойствия.
Я нашел то, что, на мой взгляд, может быть решением здесь, но я не могу заставить его работать!
viewWillAppear, viewDidAppear not being called, not firing
я отправлю мой код ниже и снимок экрана раскадровки, как им убежден, что это мой бедный способ настройки контроллеров, что вызвало эту ошибку. Любая помощь будет высоко ценится, как я сейчас нахожусь на стадии расплавления: D
-(void)viewWillAppear:(BOOL)animated {
//[super viewWillAppear:animated];
//[self.tabBarController viewWillAppear:animated];
[self.tableView reloadData];
NSLog(@"i just ran viewwillAppear");
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
athleteObject *athObj3 = [athletes objectAtIndex:indexPath.row];
athleteIdDelete = athObj3.athId;
[self openDatabase];
[self deleteAthleteFromDataBase];
[athletes removeObjectAtIndex:indexPath.row];
[tableView reloadData];
}
reloadData работает в моей функции commitEditing (это обновляет TableView, когда я удалить запись с помощью салфетки)
любой помощи будем очень благодарны, il опубликуйте снимок экрана ниже.
(не могу понять, как загрузить скриншот, если ее даже возможно)
Приветствия за помощь, на которой вы были на месте! У меня есть функция getDataIntoAthleteArray, которая извлекает данные из базы данных sqlite и сохраняет ее в массиве. Все, что мне нужно было сделать, это вызвать эту функцию, прежде чем перезагружать данные в таблице. Это имеет смысл после того, как вы упомянули об этом, я просто не мог видеть лес для tres: D Я бы поднял голову, но я нахожусь на этом сайте :( –
Рад, что это помогло. – Pablo