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

例如,如果页面顶部有一个导航栏,则带有一个保存按钮。导航栏下方是容器视图和表单。保存按钮变灰,直到将文本输入到表单中,然后用户就无法使用它了。我想做类似的事情,以便主视图控制器响应容器视图上发生的事情。

我可以使用单例创建一个布尔变量,该布尔变量在我希望我的代码运行时会更改,但是如何使它变到一旦该变量更改为true时,另一个视图控制器上的代码就会运行并响应此更改?

我在this帖子中看到我可以使用委托,但是仍然使我面临另一个视图控制器如何检测到变量已更改的问题-这篇文章中的方法只是使变量可从另一个访问的另一种方法我认为是视图控制器。

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

视图控制器是否有办法检查变量是否已更改,以便一旦更改,某些代码便可以在以后运行,而无需冻结视图控制器,就像我认为while循环会那样吗?还是视图控制器响应变量值的方法?

谢谢。

最佳答案

让主视图控制器监听一个NSNotification,告诉它需要保存一些内容。输入文本后,负责监视文本字段的控制器将发送通知。

如果目标需要了解其详细信息,则可以将新文本(或其他信息)附加到通知中。

关于xcode - 当容器 View Controller 中发生某些事情时,如何更新 View Controller ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29435064/

10-16 17:33