UIKit Fundamentals II Wiki

Welcome to UIKit Fundamentals! We are so excited to build iOS Apps with you!

Need help getting started?


Course Resources

Apple's The Swift Programming Language

Instructions for Downloadable Materials

You can download Supplemental Materials, Lesson Videos and Transcripts from Downloadables (bottom right corner of the Classroom) or from the Dashboard (first option on the navigation bar on the left hand side).

Course Syllabus

Lesson 4: Table Views

In this lesson we'll dig into Table Views, a cornerstone of UIKit.  We'll identify essential delegate and datasource methods, review Swift Collections, and discuss how UITableViews take advantage of reusable cells. After implementing an example table, we'll finish up with a Challenge App, an extension of the Roshambo app from Lesson 2.

Code Reference Sheet

Lesson 5: Navigation

This lesson focuses on Navigation, which is used when presenting a hierarchy of views from side-to-side. We'll talk about how navigation stacks function in UIKit, review Swift classes and structs, and implement a navigation structure for an example app. At the end of the lesson students will implement navigation controllers on their own in three different scenarios. 

Code Reference Sheet

Build MemeMe: The Final Product

The final lesson covers skills specifically needed to bring the MemeMe app to the next level, including: collection views, tab views, and sharing data across classes. 

Code Reference Sheet

Final Project: MemeMe

MemeMe is a meme-generating app that enables a user to attach a caption to a picture from their phone. After adding text to an image chosen from the Photo Album or Camera, the user can share it with friends. MemeMe also temporarily stores sent memes which users can browse in a table or a grid.

MemeMe covers many of the UI components covered in the previous lessons and found in essentially every app. Check out the complete project description and download the detailed spec.


Thank you to Kim Dryden, Calvin Hu, and Trish McCallister for video production and editing. This course would not exist without their hard work and dedication. We are so lucky to have such a talented production team.