Module Outline
Use the following resources and work with your mentor to master the objectives for this module. Practice by completing the Mini-Project, Project, and Challenges.
Objectives
- You will be able to identify, describe, and implement the protocol design pattern
- You will be able to identify and describe the importance of Table Views
- You will be able to use the UITableViewDataSource protocol functions to provide data to an instance of UITableView
- You will be able to describe and use the UITableViewDelegate function didSelectRowAtIndexPath to respond to user interaction
Every view can be done with a table view or collection view. Everytime you look at a view, learn to ask yourself if you should be doing it with a one of these two (UITableView or UICollectionView).
An introduction to concepts of a view with a data-source and protocols.
Required Preclass Resources
Lesson Video
Preclass Videos
-
iOS Cohort - Jake Gundersen
The Protocol Design Pattern
-
iOS Cohort - Jake Gundersen
Intro to UITableView
-
iOS Cohort - Jake Gundersen
UITableViewDataSource
Video Challenges
-
Protocols
Work with a partner to identify the required functions of the UICollectionViewDataSource protocol. Work with a partner to identify the required functions of the UITableViewDelegate protocol. Discuss your findings with the class.
-
TableView Faces
With a neighbor, try to find a single non-game application on your phone that doesn't have a UITableView somewhere in the interface.
-
Other Favorites
Have the students rename their FoodController to FavoritesController and update the Array of strings to all types of favorites.
Stretch Problem
Guided Project
TableView
A lesson teaching how to set up a basic tableView. Shows how to use both dataSource and delegate methods.
Project
-
Solar System
Students will work with table views, learn about protocols, and implement the UITableViewDataSource and UITableViewDelegate protocols to build a Solar System directory.
ReadMe
Mastery Review
- Find Numbers Divisible by X stretch problem
- Challenges
- Protocols objective challenge
- TableView Faces objective challenge
- Other Favorites objective challenge
- TableView guided project