在 UINavigationController 堆栈中更新先前视图控制器中的数据的最佳方法
Posted
技术标签:
【中文标题】在 UINavigationController 堆栈中更新先前视图控制器中的数据的最佳方法【英文标题】:Best way to update data in a previous view controller in a UINavigationController stack 【发布时间】:2015-03-24 06:00:08 【问题描述】:我有一个 UINavigationController,它在它的堆栈中添加了多个自定义视图控制器。
第一个控制器是一个带有问题列表的自定义视图控制器。每个问题都有一个同意或不同意计数的文本。
所以 UI 是这样的:
What is question 1?
2 agree, 10 disagree
Who is this question 2?
3agrees, 0 disagress
and so on...
当用户点击问题文本时,代码会向 FullQuestionViewController 执行 pushViewController。此控制器显示问题和 cmets。用户现在还可以点击同意或不同意按钮。
现在,一旦用户 clciks 同意/不同意,我该如何更新之前的视图控制器计数?我希望在用户单击时更新计数
这是如何实现的?
【问题讨论】:
您是在使用变量来存储答案还是在使用 Core Data? 变量和 Parse.com 来存储数据。只是好奇如何更新计数。 【参考方案1】:当您必须更新到新值时,您可以将此代码放在 FullQuestionViewController 中。 new_value 是您要更新到的值。
CustomViewController * custom =
self.navigationController.viewControllers[self.navigationController.viewControllers.count -2] ;
custom.myCountVariableLabel.text = new_value // new_value that should be update
【讨论】:
CustomViewController 是具有问题列表的视图控制器。 myCountVariable 是用于显示值的变量。根据更新标签。以上是关于在 UINavigationController 堆栈中更新先前视图控制器中的数据的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?
从嵌入在 UINavigationController 中的一个视图控制器到另一个 UINavigationController
(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换
关闭 UINavigationController 并呈现另一个 UINavigationController
带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller