In our app, the data manager is responsible for communicating with a service (for example, the Yelp API), as well as manipulating the data from the service. Once the data from the service is received, the data manager will create model objects that we can use for our app.
In some apps, these two jobs are handled by the controller. However, rather than putting that responsibility on our controller, we limit the controller from talking to the manager so that it never knows anything about the service.
As you get comfortable with programming, you will find that there are a few different types of architectures. We are sticking as closely as we can to MVC because it is what Apple uses to build iOS apps.
Let's create the ...