В одном из моих проектов 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.