从View Controller更新表视图命令

时间:2014-05-04 19:57:57

标签: ios ios7

iOS编程和objective-c的新功能,我正在考虑一些我猜的很简单的东西。这是我的问题:

我有一个简单的单视图应用程序,它有两个文本字段,一个按钮和一个表视图。我的想法是,我想从两个文本字段中获取文本,并使用此文本填充tableview中的下一个可用单元格。除了如何在命令上更新表视图的内容之外,我已经解决了所有问题。理想情况下,我希望在按下按钮时更新表格视图。

我有一个View Controller,它作为表视图的数据源和委托。

我知道[tableView reloadData]方法,但它需要在范围内使用相应的tableView变量。这可以说像tableView:didSelectRowAtIndexPath这样的委托方法,并且在选择任何单元格时我已经更新了,但是如果我想在执行与表视图无关的操作时更新表视图,比如当按下按钮?在这个方法的范围内没有tableView变量来调用reloadData(或者是否存在)?

所以我想我的问题是:是否有办法从视图控制器的其余部分访问表视图变量以调用reloadData或者是否有一个我不知道的方法可以促进这个?< / p>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

为什么要在视图控制器中为表视图创建一个插座? 您的视图控制器将是表视图的委托和数据源(您应该在界面构建器中或从代码中设置:

self.tableView.delegate = self;

self.tableView.dataSoure = self;

我假设self.tableView - 是我提到的插座。当您有一个插座时,您可以在按下按钮后轻松更新表格视图:例如,您将新值添加到用于填充表格视图的数组并调用

[self.tableView reloadData];

如果您不想重新加载所有表,可以使用方法insertRowsAtIndexPaths:withRowAnimation:

实际上你也必须阅读下一本手册: https://developer.apple.com/library/ios/documentation/uikit/reference/UITableView_Class/Reference/Reference.html https://developer.apple.com/library/ios/documentation/userexperience/conceptual/tableview_iphone/AboutTableViewsiPhone/AboutTableViewsiPhone.html

此引用非常有用。