方法ViewModel.Init在链接器"链接全部"时接收null作为参数。在iOS的MvvmCross中启用

时间:2018-02-12 12:10:47

标签: ios mvvm xamarin.ios linker mvvmcross

我遇到了这样的问题:在 iOS项目上的 MvvmCross 4.4.0 ,当我从" Link Only SDKs"更改链接器模式时在ViewModel的Init方法中,我开始将 null 作为Init方法的参数来链接所有"以下示例。 (所有其他Init方法都有相同的问题)。

On PreviousViewModel:

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

在NextViewModel上:

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

所以,现在我正在寻找从Linker中保存的Method / Class / File / Namespace / Assembly。 我应该包含哪个组件?

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

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

2 个答案:

答案 0 :(得分:1)

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

  

- linkskip = MvvmCross.Binding --linkskip = MvvmCross.Binding.iOS --linkskip = MvvmCross.Localization --linkskip = MvvmCross.Platform --linkskip = MvvmCross.Platform.iOS --linkskip = Newtonsoft.Json < / p>

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

答案 1 :(得分:0)

因此,包括我的iOS项目帮助在ViewModels之间传递数据。

例如: --linkskip = GuestGuide.iOS

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

然而,我完全不理解这一切。