Inlab Exercise (3/5)
- Understand how the "Master-Detail Application" Xcode template implements a list-driven navigation interface
- Understand how to combine table views, navigation and tab-bar controllers, modal presentations, and custom view controllers to build an application
For this (non-graded) in-lab exercise, you should start by cloning the repository and opening the "Cars" example. The source code can be viewed directly on BitBucket at https://bitbucket.org/michaelee/cs442/src/293412e9490a/Cars/nav-only.
Your goal during this lab session is to allow modifications to the (currently read-only) Cars data stored in your application. Adding cars in the cars list view and editing an existing car from the car (singular) detail view should be supported. Ideally, you would be implementing only one additional "editing" view controller that can get reused in the different contexts.
If you'd like, you can also try to sort the array after adding the new car and animate a scroll down to the appropriate position in the list view after returning from the editing view.
The following screenshots should help demonstrate the requisite UI elements and workflow:
Deletion of existing cars should also be supported using the swipe-to-delete mechanism in the car list view or, alternatively, by tapping a 'delete' button in the navigation bar in the same view then using the delete accessory button. Again, the following screenshots should help demonstrate: