2013-04-05 54 views
4

所以我重寫了一個我以前寫在objective-c中的應用程序。在objective-c中,我會將數據(5個數組)存儲在單獨的NSUserdefaults中,然後在新的ViewController中調用它們。在MonoTouch中在視圖控制器之間傳遞數據的最佳方式(緩存數據)

由於我開始在MonoTouch中編程,這感覺有點不對。我現在也爲此使用共享代碼並創建了一個提取數據的類。讓我解釋我的應用程序的流程如何工作:

  1. 用戶在文本字段中輸入數字。
  2. 現在這個號碼被髮送到將獲取數據並對其進行過濾的類。完成後它將返回5個數組/列表。
  3. 現在我不知何故必須保存或傳遞數據,並推送到數據將顯示在標籤中的下一個ViewController。

那麼最好的解決辦法是什麼?

+0

如何將屬性添加到可以容納這些數組並在實際顯示vc之前設置它們的「Label-VC」? – Tobi 2013-04-05 09:44:11

回答

2

子類ViewController,在其數據的構造函數上添加一些新參數,以便您可以在顯示數據時將數據傳遞給控制器​​。

public class MyViewController : UIViewController 
{ 
    private MyData _myData; 

    public MyViewController(MyData myData) 
    { 
     _myData = myData; 
    } 
} 

然後使用它:

(假設我們已經在具有NavigationController另一個視圖控制器):

var myViewController = new MyViewController(myData); 
this.NavigationController.PushViewController(myViewController, true); 

或(作爲 「模式」)

var myViewController = new MyViewController(myData); 
this.PresentViewController(myViewController, true); 
+0

我同意@NovaJoe,我只是想補充一點,如果它是來自storyboard,那麼你可以設置_myData public,並從MyViewController實例對象中設置它。 – 2016-07-13 16:03:21

+0

完全同意。這裏的一個屬性也可以,而不是構造器參數。 – NovaJoe 2016-07-13 19:46:55

相關問題