如何重新加载 UIViewController 中包含的 tableView?

Posted

技术标签:

【中文标题】如何重新加载 UIViewController 中包含的 tableView?【英文标题】:How do I reload a tableView contained within a UIViewController? 【发布时间】:2010-03-07 16:56:38 【问题描述】:

我想在包含在我的应用程序根视图中的表视图中重新加载数据。

我的应用程序的根视图(称为 RootViewController)是一个具有相应 NIB 文件的 UIViewController。我通过 IB 向 RootViewController.xib 添加了一个 UITableView 组件。在头文件 RootViewController.h 中,我确保 RootViewController 符合 .我在 IB 中正确连接了所有这些,并调用了所有适当的方法,viewWillAppear 等。

我的问题是,我怎样才能访问 UITableView 以便可以调用 reloadData 呢?

以下代码不起作用,因为“self”是 UIViewController,而不是 UITableViewController。

[[self tableView] reloadData];

如果我使用上面的代码,我会收到以下警告,并且我的应用程序在启动时崩溃:

'RootViewController' may not respond to '-tableView'

【问题讨论】:

【参考方案1】:

您需要将 IBOutlet 添加到您的控制器,并将该插座链接到 Interface Builder 中的 tableview。 NIB 加载过程将重新连接这些插座,为您的控制器提供对表视图的引用。

【讨论】:

谢谢!工作完美。仍在尝试了解 Objective-C/Cocoa。

以上是关于如何重新加载 UIViewController 中包含的 tableView?的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个 UIViewController 重新加载 UITableViewController

调用解除方法后如何正确重新加载 UIViewController?

通过 AppDelegate applicationWillEnterForeground 从头开始​​重新加载 UIViewController

当 UIViewController 被解除时重新加载 TableView?

用tableview重新加载uiviewcontroller的table view subobject的数据

如何在表格视图中重新加载数据