Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在多平台iOS Xamarin项目中从多个选项卡访问数据_C#_Ios_Xamarin - Fatal编程技术网

C# 如何在多平台iOS Xamarin项目中从多个选项卡访问数据

C# 如何在多平台iOS Xamarin项目中从多个选项卡访问数据,c#,ios,xamarin,C#,Ios,Xamarin,我在VisualStudio中通过文件->新解决方案->多平台->应用->本机->本机应用创建了一个新项目。我关注的是iOS方面的事情 我正在尝试修改这个项目。在生成的应用程序的第二个选项卡中,我需要访问所有项目。重用ItemsViewModel似乎是一个合乎逻辑的选择。但是,问题是,当我更新第二个选项卡中的数据时,更改不会反映在第一个选项卡中,第一个选项卡在其各自的ViewController中使用ItemsViewModel的单独实例 我的问题是: 有没有一种简单的方法可以让一个选项卡中的更

我在VisualStudio中通过文件->新解决方案->多平台->应用->本机->本机应用创建了一个新项目。我关注的是iOS方面的事情

我正在尝试修改这个项目。在生成的应用程序的第二个选项卡中,我需要访问所有项目。重用ItemsViewModel似乎是一个合乎逻辑的选择。但是,问题是,当我更新第二个选项卡中的数据时,更改不会反映在第一个选项卡中,第一个选项卡在其各自的ViewController中使用ItemsViewModel的单独实例

我的问题是:

  • 有没有一种简单的方法可以让一个选项卡中的更改显示在另一个选项卡中
  • 这两个选项卡是否可以共享ItemsViewModel的同一实例
  • 有完全不同的解决方案吗
    我通过在TabBarController中创建ViewModel的单个实例解决了这个问题。在ViewDidLoad中,对于我需要实例的两个ViewController中的每一个,我访问了TabBarController的实例。

    有许多不同的方法可以解决这个问题-如果不了解更多关于具体需求的信息,很难说哪种方法最好。但是,在两个不同的页面之间共享一个VM实例当然是一个可行的选择。您知道如何在不同选项卡中的两个ViewController之间共享该实例吗?一种方法可以是单例类,但它的全局作用域并不理想。让TabController创建VM,然后将其传递给每个工作的VM。谢谢。您好,请将答案作为答案并接受它,这样问题就不会在搜索已回答的问题时显示。谢谢