Course Progress

Getting Started: Introduction to Swift about 1 hour

Week 1: Building ToDo List View Controller about 1 hour

    1. Breaking Down The Walls of iOS

    Because doors are now deprecated.

    2. Help!

    I need somebody! Not just anybody! Here's a few great resources.

    3. Packing List

    We've got to prepare for the journey ahead — don't forget your towel!

    4. Creating the App

    Let's start a shiny new Xcode project!

    5. Remove the Gunk

    Let's get rid of some of Apple's unnecessary default code. Gross.

    6. The Application Lifecycle

    I launch! I die! I launch again! Learn about the various states of an application.

    7. Cracking the Window

    The app receives a window and a new view. It's probably time it got some sunlight.

    8. Getting the Views Under Control

    Those things were getting out of hand. Such problems are best solved with a view controller.

    9. Bring Color to the Controller

    It's such a pain to keep it inside the lines. Interface Builder makes it easier.

Week 2: Building Add Item View Controller about 1 hour

    1. Navigating the Ocean of Views

    The compass points UICompassNavigationManager.Directions.North! A Navigation Controller will bring everything in line.

    2. Fasten the Add Button

    Time to put the "Add" in "Add an Add Button."

    3. Pop the Edit Button

    The stars of this lesson are Ed, Edd, n Edit Button. However, only one will be added to the project.

    4. Slap 'Em in the Interface

    Resolving layout issues by exercising constraints.

    5. Plugging in to the IB Outlet

    Prepare to experience a magical moment: where the visuals meet the variables.

    6. Understanding Delegation

    Or: How I Learned to Stop Worrying and Love the Table View.

    7. Getting Right to the Data Source

    Because Table View can't do anything on its own! In this step, it receives some required construction handicaps.

Week 3: Adding and Deleting ToDo List Items about 2 hours

    1. Insert Some Nonsense

    Don't worry, it's only a placeholder to see how the items array object works. But it probably isn't any worse than a real to do list.

    2. Do The Add Item Slide

    Moderately successful sequel to the Electric Slide, in which the Add Item window is actually presented on command!

    3. Make That Add View Disappear

    And for our next trick... the window is dismissed!

    4. Accepting Input From Others

    It's always important to be open to feedback. That's why we build a Text Field.

    5. Find That Text Field

    Today on CSi:OS we look for clues. Or maybe just make a quick fix to the layout properties.

    6. Spring-Loaded Keyboard

    That thing is just waiting to pounce. The safe idea is to let it open immediately, so that's what happens here.

    7. Put That Keyboard Away

    Please. Nobody needs to see that. Let's hide the keyboard after it's been used.

    8. Making a Very Important Protocol

    This one makes sure that new items will actually be added. No prank protocols, please.

    9. The List Awakens

    It's alive! But more importantly, it can now receive new items.

    10. Sexy Item Animation

    As if coding in Swift wasn't already a sensual experience.

    11. Let Them Edit Cake

    It's time somebody edited tehse typos. In the meantime, let the Edit button enable the Editing state.

    12. The Items Go Bye Bye

    Deletion is now complete by modifying the data source, which, of course, means that [REMOVED]

Week 4: Persisting Your ToDo List about 1 hour

    1. Persistent User Data

    It's a Cache-22! But first, it's important to set up the save and load functions.

    2. Cache Me If You Can

    iOS development mainly consists of defining load and save protocols and running from Tom Hanks.

    3. Cache Money

    Don't spend it all in one place. Also, there's no money, just protocol implementations.

    4. It's All the User's Default

    Sometimes the user can be a real cachehole. Which is great for setting up a new protocol implementation class.

    5. Save and Load the Data

    A functional iOS app is born!

    6. Try the Other Option

    Are you the Gatekeeper? Because I'm the KeyedArchiverCache. This class demonstrates another way of saving user data.

    7. Cache Transaction Complete

    A functional iOS app is born... again!

    8. Final Summary

    The app succeeds!

    9. Get Your Certificate