iOS Essentials with Swift

If you're new to iOS development and want to write applications that run on the iPhone or iPad, our iOS Essentials bootcamp is just what you need.

After learning the Swift language and Foundation framework, we delve into important toolchains and the classes that make up the iOS UI framework. In just seven challenging days, we’ll have you building your first iOS application.

We’ve taught this bootcamp for Facebook, Cisco, AT&T, SAS and many more. We’d be delighted to bring it to you, too. And if you need this class in Spanish, we're happy to teach you.

What You'll Learn

  • Use and understand Swift’s basic types
  • Declare and use variables and constants
  • Leverage Swift’s control flows and looping constructs
  • Create and use collections
  • Know the power and use case of optionals
  • Understand the similarities and differences between enums, structs, and classes (and their usages)
  • Develop and use simple to more nuanced functions
  • Create closures and effectively use them
  • Understand Swift’s new initializer pattern
  • Work effectively with properties
  • Implement Swift’s functional patterns
  • Utilize extensions to extend Swift’s “out-of-the-box” functionality
  • Create and conform to protocols to develop a blueprint of functionality
  • Create generics to increase our code’s flexibility and power
  • Use lifetime qualifiers to protect against reference cycles
  • Write a program in Swift
  • Set up elegant user interfaces easily, using Interface Builder and in code
  • Set up text input fields on the iPhone and move the virtual keyboard onto the screen
  • Localize applications for international use
  • Swap out different interfaces (views) with animation
  • Display editable tables of data
  • Handle touch and complex multi-touch sequences
  • Animate user interfaces
  • Pull data from a web service for use in an application
  • Create an application that can access the user's photos or use the camera to take new photos for use within the application
  • Store data on the device using multiple techniques
  • Properly configure your user interface to handle multiple device orientations and device rotation
  • Architect large applications with many sources of data and interfaces
  • Syllabus



      • Introduction
      • Meet the instructor, get settled with Xcode
      • Optionals
      • Optional Types, binding, and chaining
      • Collections
      • Array, Dictionary, and Set
      • Functions and Closures
      • Syntax, best practices, and hands on examples
      • Enumerations
      • Raw values, associated values, switching on enumerations
      • Structs and Classes
      • Similarities, differences, and use cases of these
      • Properties
      • Declaring properties, setters and getters, computed vs. stored, property observers
      • Initialization
      • Working with init and deinit
      • Value vs. Reference Types
      • Understand the similarities and differences between; know when to use each and how manage them correctly
      • Error Handling
      • Use Swift's native Error Handling mechanism to write elegant and safe code
      • Protocols
      • Create and conform to protocols that define the rules of engagement for a conforming class
      • Extensions
      • Create extensions that modify and add behavior to existing types
      • Generics
      • Demonstrate the power and flexibility of generics by creating a new collection type
      • Protocol Extensions
      • Use protocols to define interfaces of functionality, and protocols extensions to provide default implementations
      • Automatic Reference Counting (ARC)
      • Discuss reference counting, lifetime qualifiers, and how to eliminate strong reference cycles
      • The Tools
      • Using Xcode and the iPhone Simulator
      • Simple iOS App
      • Develop a simple iOS app using UIKit
      • Swift
      • Learn the language used in all iOS development
      • Views
      • Build up interfaces using Interface Builder and in code
      • Delegates
      • Using the delegate design pattern
      • Toolbars and View Controllers
      • Create applications with more than one view
      • Auto Layout
      • Using Auto Layout to create user interfaces that work on any device
      • Localization
      • Making internationalized iOS apps
      • Animations
      • Using animations to create unique user interfaces
      • Table View
      • Using table views, table view controllers and creating custom table view cells
      • Stack Views
      • Building complex linear interfaces quickly and easily using stack views
      • Navigation Controller
      • Using navigation controllers to display multiple user interfaces
      • Camera
      • Accessing the camera and using the image picker
      • Archiving and Unarchiving
      • Using NSCoder for data persistence
      • Size Classes
      • Creating interfaces that adapt to the current device and orientation
      • Touch Events
      • Dealing with single and multi-touch events
      • Gesture Recognizers
      • Detecting gestures with UIGestureRecognizer
      • Web Services
      • Using NSURLSession to access web services
      • Collection Views
      • Using a flow layout to display a grid of items
      • Core Data
      • Using Core Data for data persistence

Our Nerds, Your Place

No matter where you are, our instructors can come to you. Need to take your team to the next level?

Learn More


Without prior experience in either a procedural programming language (such as C, Pascal, VB, or PHP) or another object-oriented platform (such as Java or C#), this class may prove to be extremely challenging.

Excellent typing skills are necessary to successfully complete this course.

How to prepare your device for our class

Confirmed students will be asked to complete a pre-reading assignment of Swift Programming: The Big Nerd Ranch Guide to prepare for class. This will be provided as a PDF before class. A solid understanding of the concepts in this programming guide has proven to greatly improve students' class experience.

Get your device ready using these handy instructions.

Upcoming Classes

Big Nerd Ranch Stone Mountain

Big Nerd Ranch West