Intro to iOS 11

The Impatient Developer's Introduction to iPhone App Development (One day)

This single day introductory course is for experienced developers who are new to iOS app development. To book this course for your group, company, or public event see Booking and Availability.

What you'll learn

This fast-paced introduction to iOS provides an overview of the four pillars of iOS development: Xcode, Swift, Storyboards, and View Controllers.

We begin by creating a simple project in Xcode, Apple's IDE for developing apps for the iPhone, iPad, Apple Watch, Apple TV, and Mac. We create a simple GUI and connect it to our code.

We use Swift 4 to write our code. This modern language is designed to support safety and clarity. We embrace best practices as we create the code for our simple example.

Every year it seems that Apple adds more flexibility to Storyboards. We see how to use them to support different devices in different orientations as well as to localize the text and allow designers to customize the appearance.

Each scene is supported by a View Controller. We look at the classic MVC pattern and the modern MVVM adaptation as we let View Controllers manage the user's experience.

What you need

If you plan on coding along, you need a Mac running Sierra or High Sierra with the latest version of Xcode 9 installed. You'll work with Xcode projects and the iOS Simulator.

Syllabus Highlights

Meet Xcode

Create a new project




iOS Simulator

A simple UI

The Storyboard

Initial Scene


Buttons and labels

Attribute Inspector

Constraints, Autolayout, and Stack Views

Outlets and Actions

Create and configure an outlet and outlet collection

Use the outlet and outlet collection

Create and configure multiple actions

Connection Inspector

Implement the actions


Model View Controller

Understanding View Controllers

Breaking up View Controllers



Passing closures

Simple Models

Custom UI

View Subclasses

Targeting multiple devices

Device specific layouts

Creating and using designables

Inspectable properties

One App with Two Scenes

Add view controller to storyboard

Configure the second scene

Create a button to trigger the segue

Connect Segue from first to second scene

Implement prepareForSegue()

Create Unwind Segues

Pass information back and forth