Summary
In this chapter, you created a new class, RestaurantItem, that conforms to the MKAnnotation protocol. Next, you created MapDataManager, a data manager class that loads restaurant data from a .plist file and puts it into an array of RestaurantItem instances. You created the DataManager protocol and refactored both the MapDataManager and ExploreDataManager classes to use this protocol. After that, you created the MapViewController class, a view controller for the Map screen, and configured it to display custom annotations. You configured callout buttons in the custom annotations to present the Restaurant Detail screen. Next, you created the RestaurantDetailViewController class, a view controller for the Restaurant Detail screen, and passed data to it from the MapViewController instance. At this point, you know how to create objects that conform to the MKAnnotation protocol, how to add them to a map view, and how to create custom MKAnnotationViews, which enables you to add annotated...