Teaching App Development with Swift

Journal

Level 4, Eleven Lessons

Use a collection of journal entries as a vehicle for teaching students how table view controllers work. Emphasize delegates and protocols, integrate multiple view controllers and segues, and lead students in discovering increasingly complex controller interactions.

The Finished App

Familiarize yourself with the project, and demonstrate the app students will build.

Lesson 1

Analyze the app startup process with an empty Xcode project.

Lesson 2

Facilitate adding a storyboard and default table view controller to the project.

Lesson 3

Bind a custom controller class to the table controller, and teach students about delegates, data sources and protocols.

Lesson 4

Demonstrate table cell reuse by adding sample data to the view. Lead students in refactoring Swift code toward best practices with map and closures.

Lesson 5

Facilitate students in implementing a model with method prototypes, properties and an initializer.

Lesson 6

Lead students in composing a model with a data structure, and use the model with the table view datasource methods.

Lesson 7

Demonstrate how navigation controllers and table view controllers work together.

Lesson 8

Facilitate the construction of a user interface, and teach students how to use segues to pass data between view controllers.

Lesson 9

Challenge students with the addition of another view controller and segue.

Lesson 10

Explain how to dismiss modal segues with controller actions.

Lesson 11

Challenge students to coordinate multiple view controllers to add new objects to a shared data structure.

The course materials only, and not any other content of this web page, are to be used pursuant to a Creative Commons license, as specified in the license information within the course materials.

Trademark Information

The Swift logo, Apple, the Apple logo and other Apple trademarks, service marks, graphics, and logos used in connection with the Swift Education project are trademarks or registered trademarks of Apple Inc. in the US and/or other countries. Other trademarks, service marks, graphics, and logos used in connection with the Swift Education project may be the trademarks of their respective owners. You are granted no right or license in any of the aforesaid trademarks, and further agree that you shall not remove, obscure, or alter any proprietary notices (including trademark and copyright notices) that may be affixed to or contained within the Service.

For further information about proper referential uses of the Swift logo, please review the “Guidelines for Using Apple Trademarks and Copyrights”.