2016-02-11 69 views
0

我嘗試使用自定義的segue來配置目標控制器,以便傳遞數據和注入依賴項。我可以使用自定義的非視覺目的嗎?

Using UIStoryboardSegue for purposes of injecting dependencies and passing data

這種方式分離從源控制器目的地控制器和配置碼。

但蘋果的文檔說'一個UistoryboardSegue對象是負責在兩個視圖控制器之間執行視覺轉換'。

我的用法是否正確?

+0

你想傳遞數據給它,但不顯示它? – Larme

回答

0

我想有很多方法可以解決這些問題。 segue是通過調用「prepareForSegue」方法傳遞數據的好方法。不過,您不需要它來更改另一個控制器中的數據。如果你有一些參數,在視圖控制器類的實例,但沒有表現出來,你可以只使用類似take對它的引用:

let resultViewController = storyboard?.instantiateViewControllerWithIdentifier("result") 
          as! ResultViewController 

在該代碼中,「結果」是一個標識視圖控制器。沒有需要的那個。您可以爲UI元素創建回調並調用此代碼以獲取對該視圖控制器的引用。如果您不想轉換視圖,我認爲這可能是更好的解決方案。

希望這會有所幫助,

+0

謝謝你的回答。 –

+0

我在故事板中使用這個segue。我想知道注入和傳遞數據的最佳方法。我不想在源代碼控制器中引用DI容器的彙編程序。所以我認爲這種方式更好。但由於蘋果的文件,我沒有信心。 –

+0

你能解釋一下你使用的技術嗎?只是看着這個要點有點混亂。你沒有意見被segue顯示?它是完全程序化的沒有故事板? –

相關問題