2017-02-26 32 views
2

我的故事板佈局是這樣的,我有MainVC連接到ModalVC通過一個segue,它呈現模態。是否可以使用從單個模式視圖控制器退回到同一個源視圖控制器的多個實例中的一個實例?

但是,在編程上,我在運行時總共實例化了5個MainVC實例。

因此,具有相同標識符的MainVC的所有五個實例都連接到ModalVC

我需要在ModalVC中執行一些操作並解除它之後更改MainVC中的屬性,並且似乎有多種方法可以通過segse進行此操作。

這裏的頂部答案很詳細,說明只有在那裏是一個源視圖控制器的情況下使用開卷SEGUE但執行: Passing data with unwind segue

我的問題是:將使用SEGUE,就像在那個答案中,或者其他任何方式一樣,在我的情況下工作,將多個相同的MainVC(相同的標識符)附加到單個實例ModalVC

unwind segue將僅在傳輸數據或在啓動它的單個MainVC實例中執行操作嗎?或者它會最終影響所有五個MainVC實例,因爲MainVC實例具有相同的標識符?如果是後者,有沒有辦法解決這個問題?

回答

2

Apple有一個全面的technical note關於如何展開工作以及如何確定目標視圖控制器,但總而言之,該過程檢查視圖控制器導航層次結構以找到可處理展開的第一個視圖控制器,並且願意這樣做。

在你的情況下,這將是MainVC實例展示了正在展開的ModalVC。 unwind segue不能由不在導航層次結構中的視圖控制器實例處理(例如,MainVC的實例不包含ModalVC

相關問題