2011-10-27 71 views
0

我试图让我的tableView在rootViewController中重新加载后,我填充它的数组中创建一个新的对象。刷新rootViewController中的tableView数据

我想用我的RootViewController的的viewDidLoad中的以下内容:

[tableView reloadDate];

,但我得到的错误:

Use of undeclared identifier "tableView"

我想这是因为我还没有宣布对象tableView直到viewDidLoad方法之后。那么我还有什么其他选择可以刷新表格?

感谢

+0

在这种情况下'tableView'是伊娃。我假设你有属性'tableView'。尝试编写'[self.tableView reloadData];' – beryllium

回答

0

如果您还没有宣布的tableView,比你不能告诉它重新加载。围绕您的应用程序的体系结构存在一些问题:当您说'rootViewCOntroller'时 - 是指应用程序RVC?如果是这样,你是以编程方式实例化tableView,还是从.xib/outlet访问它?

如果你正在访问一个XIB,你应该调用你的财产outlet [[self tableView] reloadData]。

如果以编程方式创建表视图,则应在调用它之前创建它,并且在大多数情况下,您需要在指向该tableView的RVC类上定义一个属性,以便你仍然在调用[[self tableView] reloadData],而不是像你在代码中那样直接访问它。

+0

抱歉有关奇怪的术语,(obj-c的新手),这是我所指的应用程序RVC。我正在以编程方式实例化tableView。 – novicePrgrmr

+0

所以它听起来像你正在实例化你的tableView比你需要。有没有一种动机,不是在代码的早期创建表格?我还不清楚在RVCs viewDidLoad上向阵列中添加新对象的方式......假设您已在屏幕上获取表格,如果将新模型对象添加到数组中,则应该告诉tableView重新加载(或使用[tableView insertRowsAtIndexPaths])...我再也看不到你的架构,但是当某些东西被添加到数组中时,viewDidLoad早已不存在了...... – isaac

+0

我认为我的问题是对象正在被添加到另一个类中的数组,所以我不知道如何从另一个类重载数据到另一个类 – novicePrgrmr