我有一个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函数中起作用(当我通过滑动删除条目时,这将更新tableview)

任何帮助将不胜感激,如以下屏幕截图所示。

(想知道如何尽可能地加载屏幕截图)

===============>>#1 票数:5 已采纳

看来运动员(我认为是NSMutableArray)没有在viewWillAppear中更新。 在调用reloadData之前,您是否尝试过运行从数据库填充数组的选择器?

希望有帮助!

===============>>#2 票数:0

我假设您要根据从数据库返回的对象数来设置代码中的行数/节数。

在此方法上设置一个断点,并在每次编译器中断时获取计数。 您可能没有从数据库中获取任何对象,因此编译器将永远不会运行其余的表视图dataSource方法。

  ask by Stephen Fig Roll Smith translate from so

未解决问题?本站智能推荐:

1回复

UITableView似乎自动reloadData(标签栏控制器)iOS8?

当我使用tabbarController切换控制器时,无法阻止tableview重新加载其数据。 我的单元格非常沉重,并且没有下载任何新数据,因此除了冻结UI不到半秒之外,不需要重新加载tableview ...您是否还注意到自iOS8起(我在iOS7上进行了检查,没发生) 谢谢你的帮助
2回复

UITableView reloadData在另一个类中不起作用

我在调用reloadData时遇到问题。 我有2个课程,无法更新我的表。 我的rootViewController.m : 和: myFirstViewController.m : 为什么这不允许我更新表格?
2回复

在UITableViewController上不起作用reloadData

我想将textField中的数据添加到UITableViewController中。 委派和传输数据工作正常。 我的mutableArray正在修改,他看起来很核心但是tableView没有重新加载。 tableViewController.m ViewController.
1回复

viewWillAppear从未被调用[重复]

这个问题已经在这里有了答案 : iPhone viewWillAppear不触发 (26个答案) 可能重复: iPhone ViewWillAppear不触发 我有一个问题,我有一个tabBar / Na
2回复

TableView reloadData无法重新加载?

首先,我使用initWithCoder初始化表,然后将数据加载到单元格中。 当数据源更改时(这是Web服务),我希望重新加载表。 为了测试,我挂了按钮动作并添加了[self.tableView reloadData] 但是,表不会重新加载,但是数据源已更改。 如果我转到其他视图并返回
1回复

TableView的reloadData未加载cellForRowAtIndexPath或行数

我试图(徒劳地)从另一个View Controller SitesViewController重新加载MasterViewController tableView。 我在SitesViewController使用以下代码: 以及我正在调用的方法的以下代码: 我什至将重载代码添加
1回复

Tableview reloadData未执行-有时

我有一个从2个不同地方调用的视图控制器。 1)我从根控制器调用它。 显示并填充它。 添加按钮可以完美工作。 我打开一个模式窗体,获取信息并通过它的委托将其返回给视图控制器。 但是,当我从另一个视图(在拆分视图的右侧)调用它时,此相同代码不会重新加载表。 它添加了数据-如果我
1回复

为什么我的[tableview reloadData]执行得太晚了?

更改数据时,我的tableview发生了一些奇怪的事情。 我有这样的事情: 从理论上讲,至少我认为应该可行。 但是我有一些小故障,所以我在for循环和以下代码中添加了NSLogs:-( - (UITableViewCell *)tableView:(UITableView *)tab
1回复

在TableView中刷新RSS数据

我在解析RSS时试图刷新TableView。 一旦我更新了xml,然后按了刷新按钮,它什么也不会做,但是当我关闭并打开应用程序时,它将运行新的更新的xml。 我的问题在哪里? 从现在开始谢谢。
2回复

来自不同类的reloadData?

我正在尝试从不同的类重新加载tableView。 在控制台中的一些NSLog之后,我的数据被改变但没有改变。 下面是一些代码: SecondViewController.m 你能帮我解决一下最简单的问题吗? 谢谢,库尔顿 编辑#1: NSLogs显示以下内容。 可