2015-04-03 21 views
0

我需要做的是能够更新我的主视图控制器,当它发生在容器视图内。如何在容器视图控制器中发生某些事情时更新视图控制器?

例如,如果有在页面的顶部有一个保存按钮导航栏。导航栏下方是容器视图和表单。保存按钮呈灰色,直到文本输入到表单中,然后变得与用户难以处理。我想做类似的事情,以便主视图控制器响应容器视图上发生的事情。

我可以使用单例创建一个布尔变量,当我希望我的代码运行时发生更改,但是我怎样才能使它变成true,其他视图控制器上的代码就会运行并响应此更改?

我在this的帖子中看到,我可以使用委托,但它仍然给我留下了另一个视图控制器如何检测变量已经发生变化的问题 - 本文中的方法只是使变量可访问的另一种方式我认为另一个视图控制器。

我以为我可以有一个while循环运行检查变量,但这会冻结主视图控制器,直到while循环完成 - 在这种情况下,当变量是true不是吗?

是否有一个视图控制器检查,如果一个变量已经更改,因此,一旦有,某些代码可以运行之后,如果不冻结视图控制器就像我觉得while循环会的方式?或者一种视图控制器响应变量值的方式?

谢谢。

+1

是否考虑过使用UITextFieldDelegate或为UIControlEventEditingChanged事件添加目标? – Abdullah 2015-04-03 15:37:30

回答

1

让主视图控制器监听NSNotification,告诉它需要保存一些东西。当输入文本时,照看文本字段的控制器发送通知。

您可以将新的文本(或其他信息)的通知,如果目标需要了解其详细信息。

+1

非常感谢这 - 它正是我需要的!对于任何想要知道如何实现这个的人来说,都有这样的答案[这里](http://stackoverflow.com/a/24756761/4726712),它很好地解释了它。 – cross 2015-04-03 15:46:36

相关问题