2015-04-28 90 views
0

由於某種原因,我正在腦部抽筋。一些已發佈的問題/答案已過時或客觀-C。我不確定代表是否要走?如何將數據從一個UIView傳遞給子UIView?

我有UIViews的層次結構。

​​

在phenotypeSunplotView:UIView的一些數據被設置時,一個字符串。我想要傳遞一個字符串到另一個實際做繪圖的UIView類,SunplotView:UIView

例如,我想將字符串「Gorgonzola」傳遞給繪製圓圈的類,SunplotView:UIView並繪製字符串旁邊的字符串。

screendump

回答

3

作爲一般規則,你不知道。視圖不是數據存儲對象。它們是模型/視圖/控制器設計模式中的「視圖」。

相反,您將視圖控制器設置爲在兩個位置安裝數據。給你的視圖控制器出口所有需要改變的視圖。

如果一個視圖是一個輸入字段(例如像UITextField),那麼你在視圖控制器中添加一個動作或委託方法,當用戶輸入數據時會被調用。然後,您收集該數據並將其複製到適當的任何其他視圖。視圖控制器根據需要進行調解以實現您的應用程序的邏輯。

+0

感謝您的回答。我不希望View存儲一個對象,我只是想讓它傳遞一個字符串並繪製它,就像函數調用一樣。我想我沒有得到「將它複製到任何其他合適的視圖」的概念。 –

+1

將視圖控制器視爲電話交換機。它是連接到屏幕上所有視圖的中央站。在視圖控制器中,您可以根據需要在任意數量的視圖中安裝任何值。如果您有需要在2個視圖中顯示的值,只需編寫將該值複製到2個出口的代碼即可。完成。 –

+0

好吧,但這不會是一個記憶豬?泄漏?或許多可以設置爲零的指針? –

相關問題