Как преобразовать класс, который реализует GalaSoft.MvvmLight.Views.INavigationService, в NSObject в Xamarin iOS - PullRequest
0 голосов
/ 02 января 2019

В одном из моих проектов Xamarin для iOS я столкнулся с проблемой, которая заключается в том, что после того, как пользователь перейдет в несколько представлений, а затем пользователь изменит язык устройства и возобновит работу приложения, пользователь получит доступ к корневому представлению, но не к предыдущей навигации. Посмотреть.

При отладке я обнаружил, что класс (NavigationService), который реализует INavigationService , стал нулевым. В качестве решения я пытаюсь сохранить экземпляр NavigationService в NSUserDefaults и получить его, когда язык устройства изменил сценарий.

Но я застрял при преобразовании экземпляра NavigationService в NSObject . - это документация об INavigationSerivce в MVVMLight.

То, как мы инициализировали NavigationService, показано ниже, используя LightInject

private static ServiceContainer s_serviceContainer;
private NavigationService m_navigationService;

// More code goes here. m_navigationService initialized inside FinishedLaunching method

m_navigationService = s_serviceContainer.GetInstance<INavigationService>() as NavigationService;

Чтобы подвести итог всей вышеприведенной истории, мне нужно преобразовать экземпляр NavigationService, который реализует INavigationService, в NSObject.

...