我有一个 Xcode 应用程序,它创建一个表视图,然后用来自 sqlite 数据库的数据填充它,这完美地工作并允许我将数据推送到新视图并删除等,
这个表视图是标签栏控制器上加载的第一个视图。当我移动到同一个控制器上的另一个视图时出现问题,即创建一个运动员,在这个视图中我可以向数据库添加一个新的运动员(工作正常)但是当我回到标签栏控制器上的 tableview 时,表是一样的,我必须注销并重新登录才能看到表中的变化,
我在 viewWillAppear 函数中尝试过 [self.tableView reloadData] ,但这什么也没做。我知道该函数被调用了,因为我在它们中放置了一个 NSLog 只是为了让您安心。
我找到了我认为可能是这里的解决方案,但我无法让它工作!
viewWillAppear,viewDidAppear 没有被调用,没有触发
我将在下面发布我的代码和故事板的屏幕截图,因为我确信这是我设置控制器的糟糕方式导致了这个错误。任何帮助将不胜感激,因为我现在处于崩溃阶段: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 函数中工作(当我通过滑动删除条目时会更新表格视图)
任何帮助将不胜感激,我会在下面发布屏幕截图。
(如果可能的话,无法弄清楚如何加载屏幕截图)