Teaching App Development with Swift


Level 4, Eight Lessons

Discover how iOS apps obtain and use network data such as RSS feeds containing media metadata. Demonstrate how a tab bar controller helps manage an interface for multiple view controllers. Teach students about the importance of separating data from implementation, extracting structured data, and invoking asynchronous methods.

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

Demonstrate how to add a storyboard and tab bar controller, and teach students the purpose and behavior of the tab bar controller.

Lesson 3

Customize four view controllers to illustrate the behavior of a tab bar controller.

Lesson 4

Teach students how to bind four distinct view controllers to a single implementation.

Lesson 5

Encourage students to recognize the separation of data and behavior, and illustrate the relationship between user defined runtime attributes and controller properties.

Lesson 6

Introduce RSS feeds as a data source, and demonstrate retrieving data with asynchronous methods and closures.

Lesson 7

Facilitate students in analyzing the separation of data and implementation, and use user defined runtime attributes to bind different URLs to controller instances.

Lesson 8

Facilitate students in practicing retrieving RSS data, and recognizing asynchronous methods and closures.

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”.