在MonoTouch中在视图控制器(缓存数据)之间传递数据的最佳方式

本文关键字:数据 最佳 方式 之间 控制器 视图 缓存 MonoTouch | 更新日期: 2023-09-27 18:07:50

所以我重写了一个我以前用objective-c写过的应用程序。在objective-c中,我会将数据(5个数组)存储在单独的NSUserdefaults中,然后在新的ViewController中调用它们。

自从我开始在MonoTouch编程,这感觉有点不对。我现在也使用共享代码,并创建了一个类,正在获取数据。让我来解释一下我的应用程序是如何工作的:

  1. 用户在文本框中输入数字。
  2. 现在这个数字被发送到类,它将获取数据并过滤它。完成后,它将返回5个数组/列表。
  3. 现在我必须以某种方式保存或传递数据并推送到下一个视图控制器,其中数据将显示在标签中。
那么解决这个问题的最好方法是什么呢?

在MonoTouch中在视图控制器(缓存数据)之间传递数据的最佳方式

子类化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);

或(作为"modal")

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