Setting up the navigation service
Implementing a navigation service in MVP is very different from our Xamarin.Forms
navigation service. Our navigation service will not be used in an IoC container this time; instead, we will be instantiating one of these objects at the start of our application in the AppDelegate
and MainActivity
classes. Since we are working in native, we will also be implementing a separate navigation service for each platform that will share the same interface.
Let's start with creating the shared interface. Add a new file to the Chat.Common
folder
Presenter
| Services, call it INavigationService.cs
, and implement the following:
public interface INavigationService { void PushPresenter(BasePresenter presenter); }
Building the iOS navigation service
Let's start with the iOS navigation service. Add in a new folder called Services
to the Chat.iOS
project, create a new file called NavigationService.cs
, and implement the following:
public class NavigationService : INavigationService...