Shopping list is designed to help you practice using what you learned in this Unit. You will have to use UIAlertControllers, CoreData, and intermediate table view concepts, including a custom UITableViewCell and a protocol.
Please fork and clone this repository, then watch the screen recording provided before starting. This will show you what you need to build. Your project must display shopping list items in a table view with custom cells, persist shopping list items across launches using CoreData, allow the user to "swipe to delete," allow the user to add items to the list using a UIAlertController with a text field, and present an alert to the user when a task is due. Best of luck.
* Use an NSFetchedResultsController, add a property to your model object called ```category```, and split your sections based on that property
* Add a due date to your shopping list items
Students who complete this project independently are able to:
- Use the appearance protocol and set visual attributes
- Implement a custom protocol following the delegate pattern
- Identify, display, and respond to user responses from an Alert Controller
- Instantiate, schedule, and handle Local Notifications
- Describe, identify, and implement propert Model-View-Controller principles
- Systematically plan out each class needed for an MVP product
- Implement intermediate Table View features (including a custom cell and cell delegate)
- Use best practices for proper database design
- Describe and implement the Core Data stack