2017-07-16 98 views
0

正如標題所述,我只是簡單地傳遞信息。在視圖控制器之間傳遞數據而不改變視圖

我目前有一個標籤式視圖應用程序,用戶將數據輸入到文本字段中,按下一個按鈕,然後在同一個viewcontroller上用輸入的文本填充標籤。

我想將該信息發送到其他選項卡並填寫標籤。

我知道我可以通過協議或segues來做到這一點,但是,我想保留在當前選項卡上。我沒有在任何地方看過這個例子,只是將視圖切換到另一個屏幕。

任何人都知道如何簡單地傳遞輸入的字符串而不改變視圖?

+0

看看這個答案。 https://stackoverflow.com/a/27619420/1630618 – vacawama

回答

3

您正在看着這一切都是錯誤的。您不希望或不需要在視圖控制器之間傳遞數據。如果您的應用程序正確使用MVC(模型,視圖,控制器),那麼您應該做的是更新模型。該模型應廣播已更新。任何關心模型的人都應該根據需要對這些通知做出反應。

您有一個帶多個視圖控制器的選項卡控制器。兩個或多個視圖控制器對相同的數據模型有興趣。兩者都應引用相同的數據實例,並設置爲通知有關該數據模型實例的更改。

一個視圖控制器通過其視圖更新數據模型。數據模型然後發出已更新的通知。現在,感興趣的視圖控制器會收到此通知並根據更新的數據模型更新其自己的視圖。

不需要視圖轉換。沒有需要的賽段。不需要不同視圖控制器之間的通信。

查看NotificationCenter的文檔,瞭解如何廣播消息以及如何偵聽此類消息。

相關問題