返回上一个View Controller并更新其数据

时间:2019-06-02 08:19:20

标签: ios objective-c

我有一个视图,其中存储了一些数据,例如文件数量。在单击该视图时,它会指向其他视图,该视图存储有关该数据的详细信息,例如有关所有文件的详细信息。现在,在第二个视图上执行一些操作后,说我通过此命令弹出第二个视图控制器时删除一些文件

[self.navigationController popViewControllerAnimated:YES];

我希望自动重载以前的视图控制器上的数据,以说存储了确切的文件数。我该怎么办?

3 个答案:

答案 0 :(得分:3)

  1. 如果要将数据发送到以前的viewController并重新加载,请使用委托。
  2. 如果要重新加载以前的viewController而不从当前视图控制器发送任何数据,只需在viewWillAppear中实现重新加载方法。

答案 1 :(得分:1)

实现viewWillAppear在第一个视图控制器中收集并重新显示文件的当前状态。

答案 2 :(得分:1)

您可以通过多种方式执行此操作,以下是根据我对这种实现类型的偏好排序的列表:

  1. 用户自定义协议 以下是一个很好的参考,它说明了如何使用协议来实现您的方案。

https://www.tutorialspoint.com/objective_c/objective_c_protocols.htm

  1. 如果使用数据源在第一个视图控制器中显示信息,则应实现viewWillAppear来显示文件详细信息。当视图控制器将显示在屏幕上时,将调用此方法。因此,无论何时在第二个视图控制器中更新数据源(数据库或模型)并导航回第一个视图,您都将在该视图中获得更新的详细信息。

  2. 使用NSNotificationCenter。这是一种在其他地方将特定事件通知观察者视图控制器的方法。当特定触发器上必须发生多个事件时,应使用此方法。以下是了解此内容的很好的参考:

https://medium.com/ios-os-x-development/broadcasting-with-nsnotification-center-8bc0ccd2f5c3

希望这对您有所帮助。