我有一个 Navigation iPhone 应用程序,它的“二级”控制器目前是一个 UIViewController,其 Nib 包含一个 UIView。我在 UIView 的顶部为导航栏腾出空间,然后在底部添加了一个工具栏,在其上放置了一个刷新按钮、一个标签和一个活动指示器。最后但同样重要的是,我在中间放了一个表格视图。
我将控制器和笔尖之间的所有东西都连接起来,并使文件的所有者连接到 UIView 和数据源,并委托 UIView 包含的 UITableView 来引用文件的所有者,一切正常。
但我不知道如何告诉表格视图刷新。
我想我可以把它放在我想要更新表格的代码中:
[self.tableView reloadData];
但除非我的二级控制器是 UITableViewController,否则这行代码将无法编译。当我将第二级控制器设置为 UITableViewController 时,当第二级控制器加载时,我的应用程序会崩溃,因为文件的所有者没有引用表视图控制器,并且当我让文件的所有者引用表视图出口而不是视图,除了底部的工具栏及其标签和刷新按钮不再出现之外,一切正常。
我也尝试简单地添加
[self refresh];
代替 [self.tableview reloadData] 但代码陷入循环刷新自身。
我怎样才能让这一切正常工作?我想我需要将我的二级控制器保留为 UIViewcontroller,但我仍然希望能够获取它包含的 UITableView,以便在我想要的时候进行自我更新。