刷新UINavigationController中的“root”数据并更新导航堆栈中的数据

时间:2016-12-09 21:08:21

标签: ios swift uiviewcontroller uinavigationcontroller

我正在使用带有视图控制器A,B和C的UINavigationController的storyboard。

A是导航控制器的根视图控制器,它在启动时获取一些数据。如果我单击A中的一行,该行将使用该数据转换为B视图控制器。单击B中的行将切换到C视图控制器。

稍后在我的应用程序中,例如我在C内,用户想要刷新数据。意思是我需要再次获取A视图控制器的根数据。

用户刷新数据后,如何重新构建导航层次结构?我需要在A中然后在B中更新数据源,最后在C中以某种方式更新。

2 个答案:

答案 0 :(得分:0)

这仅仅是提前规划的问题,不是吗? >需要。在这种情况下,没有必要重建"任何事情(尽管你可以这样做,我想)。即使您正在显示C,A和B都仍然存在,因此您需要做的就是根据需要与他们进行通信。如果数据获取功率仅驻留在A中,则只需向A提供C可以调用的方法,以便请求刷新并接收更新的数据。如果A和B随后再次显示(因为用户从C弹回),他们当然会使用他们的viewWillAppear更新各自的接口 。但目前A和B只是对象,而对象之间的通信毕竟是面向对象的编程。

答案 1 :(得分:0)

你应该将A的所有逻辑放在另一个可以从A和C访问的对象中。 我认为post是一个很好的起点