当链接器 "Link All" 在 iOS 的 MvvmCross 中启用时,方法 ViewModel.Init 接收 null 作为参数

Method ViewModel.Init receives null as parameters when linker "Link All" enabled in MvvmCross at iOS

我面临这样的问题:在iOS项目上的MvvmCross 4.4.0中,当我将链接器模式从"Link Only SDKs"到"Link All",在ViewModel的Init方法中我开始获取null作为Init方法的参数。下面的例子。 (所有其他 Init 方法都有同样的问题)。

在 PreviousViewModel 上:

public void RedirectToCountry()
{
    /*_countryId != null */
    ShowViewModel<NextViewModel>(new {countryId = _countryId});
}

在 NextViewModel 上:

 public void Init(string countryId)
    {
        /* countryId == null */
        _countryId = countryId;
    }

所以,现在我正在查看 Method/Class/File/Namespace/Assembly 我需要从链接器中保存什么。 我应该包括哪个组件?

P.S.: 如果有人现在知道如何从新版本的 MvvmCross 中保存 Prepare 方法,请也回答。

P.P.S.: 我研究过 MvvmCross 使用 JsonSerializer 在 ViewModel 之间传输数据,试图将程序集包含在序列化程序文件中 (MvvmCross.Core.ViewModels),但没有帮助。

这些是我通常避免在 iOS 上链接的程序集:

--linkskip=MvvmCross.Binding --linkskip=MvvmCross.Binding.iOS --linkskip=MvvmCross.Localization --linkskip=MvvmCross.Platform --linkskip=MvvmCross.Platform.iOS --linkskip=Newtonsoft.Json

在那之后链接所有程序集时,您不应该有任何 MvvmCross 问题。

因此,包括我的 iOS 项目有助于在 ViewModel 之间传递数据。

例如: --linkskip=GuestGuide.iOS

此外,我没有包括除 MvvmCross.Binding 之外的所有 MvvmCross 程序集。

然而这一切对我来说是完全无法理解的