2017-07-16 39 views
0

正如标题所述,我只是简单地传递信息。在视图控制器之间传递数据而不改变视图

我目前有一个标签式视图应用程序,用户将数据输入到文本字段中,按下一个按钮,然后在同一个viewcontroller上用输入的文本填充标签。

我想将该信息发送到其他选项卡并填写标签。

我知道我可以通过协议或segues来做到这一点,但是,我想保留在当前选项卡上。我没有在任何地方看过这个例子,只是将视图切换到另一个屏幕。

任何人都知道如何简单地传递输入的字符串而不改变视图?

+0

看看这个答案。 https://stackoverflow.com/a/27619420/1630618 – vacawama

回答

3

您正在看着这一切都是错误的。您不希望或不需要在视图控制器之间传递数据。如果您的应用程序正确使用MVC(模型,视图,控制器),那么您应该做的是更新模型。该模型应广播已更新。任何关心模型的人都应该根据需要对这些通知做出反应。

您有一个带多个视图控制器的选项卡控制器。两个或多个视图控制器对相同的数据模型有兴趣。两者都应引用相同的数据实例,并设置为通知有关该数据模型实例的更改。

一个视图控制器通过其视图更新数据模型。数据模型然后发出已更新的通知。现在,感兴趣的视图控制器会收到此通知并根据更新的数据模型更新其自己的视图。

不需要视图转换。没有需要的赛段。不需要不同视图控制器之间的通信。

查看NotificationCenter的文档,了解如何广播消息以及如何侦听此类消息。

相关问题