无法触发[tableView reloadData]

时间:2009-07-11 22:43:54

标签: iphone cocoa-touch uitableview

我有一个控制器,其中包含一个tableView,它以模态方式生成另一个控制器以输入名称。一旦输入名称,就会释放模态视图。但是......如何告诉第一个控制器[tableView reloadData]。我已经在ViewWillAppear,ViewDidAppear等中尝试过......没有一个会触发命令,因为第一个控制器仍然在模态控制器后面。那么......我怎么能告诉它重新加载?

感谢

1 个答案:

答案 0 :(得分:1)

我接近这个的方法是让第一个控制器成为第二个控制器的委托。将-secondController:didFinishEnteringName:之类的方法添加到第一个控制器,该控制器在调用时重新加载tableview。然后将一个委托属性(带有赋值语义)添加到第二个控制器,将第一个控制器设置为第二个控制器,最后,在用户在第二个控制器中输入其名称之后,先调用第一个控制器的-secondController:didFinishEnteringName:方法从屏幕上删除第二个控制器。

另一种方法可能是使用通知。但是,在可能有许多视图或其他必须更新的对象的情况下,这更适用。