正如标题所述,我希望简单地传递信息。
我目前有一个标签式视图应用程序,用户将数据输入到文本字段,按下按钮,然后在同一个视图控制器上用输入的文本填充标签。
我想将该信息发送到其他标签并填写标签。
我知道我可以通过协议或segues执行此操作,但是,我想保留在当前选项卡上。我没有在任何地方看到这个例子,只是将视图切换到另一个屏幕。
任何人都知道如何简单地传递输入的字符串而不更改视图?
答案 0 :(得分:4)
你看这一切都错了。您不希望或不需要在视图控制器之间传递数据。如果您的应用程序正确使用MVC(模型,视图,控制器),那么您应该做的是更新模型。该模型应广播已更新。任何关心模型的人都应该根据需要对这些通知做出反应。
您有一个带有多个视图控制器的标签控制器。两个或多个视图控制器对同一数据模型感兴趣。两者都应引用相同的数据实例,并设置为通知有关该数据模型实例的更改。
一个视图控制器通过其视图更新数据模型。然后,数据模型发出已更新的通知。现在,感兴趣的视图控制器会收到此通知,并根据更新的数据模型更新自己的视图。
无需视图转换。不需要segue。不需要不同视图控制器之间的通信。
查看NotificationCenter
的文档,了解广播消息的方法以及侦听此类消息的方法。