Complete iPhone & iPad (iOS 7) Training

We offer private customized training for groups of 3 or more attendees.

Course Description

This four day course explores the language, tools, and libraries required to build "native" iPhone/iPad applications with iOS 7. Assuming no prior iOS development experience, this course starts at the beginning of the development process, identifying what is needed to obtain the iOS SDK and continuing with a thorough exploration of Objective-C, the native programming language for iOS. After all of the necessary foundations are established, the iOS 7 SDK and its related development tools are introduced, providing a detailed examination of views, controls, view controllers, and the event based lifecycle they participate in. Throughout the course, concepts are reinforced through "hands-on" lab exercises. The culmination of these exercises result in an iPhone / iPad app that is intended to be used by attendees of a software development seminar (including a "master-detail" schedule of sessions, attendee notes, map / directions to the venue location, and display of a live website).
Course Length: 4 Days
Course Tuition: $2490 (US)


Strong development experience in any Object Oriented programming language. Students should feel very comfortable with concepts such as Inheritance and Polymorphism.

Course Outline



Introduction to iOS Development

  •  Introducing iOS
  •  Apple Developer Membership
  •  iOS SDK
  •  Xcode
  •  Interface Builder
  •  iOS APIs
  •  The iOS Simulator
  •  Instruments
  •  Documentation
  •  Putting it Together

Objective-C: Basic Data Types and Object Creation

  •  Introduction and Brief History
  •  The Main Function
  •  NSString Literal & NSLog
  •  Primitive Data Types
  •  Foundation Classes Overview
  •  Object Creation & Messaging Overview
  •  Object Creation: alloc / init
  •  Object Creation: Factory Methods

Objective-C: Common Foundation Classes

  •  Strings: NSString & NSMutableString
  •  Collections: Arrays, Dictionaries, Sets and Literals
  •  Wrappers: NSNumber
  •  JSON

Objective-C: Custom Classes

  •  Custom Class Overview
  •  Header Files
  •  Import and the @class Directive
  •  Inheritance and NSObject
  •  Method Declarations
  •  Implementation Files
  •  Method Definitions
  •  Self and Super
  •  Automatic Reference Counting (ARC)
  •  Properties
  •  Overriding NSObject Methods
  •  Access Control

iOS Basics

  •  Architecture of an App (The Main Run Loop)
  •  Creating a Project
  •  UIApplication and the App Delegate
  •  UIKit Framework: Views and Controls
  •  Storyboards and Scenes
  •  Build Actions (Run, Test, Profile, Analyze, Archive)
  •  Debugging & Profiling
  •  Frameworks

View Controllers: Connections and Flow

  •  View Controller Overview
  •  Life Cycle Methods
  •  Storyboard Segues and Unwind Segues
  •  Programmatic Segues
  •  IBOutlet and IBOutletCollection
  •  IBAction

View Controllers: Common Controllers

  •  Navigation Controllers
  •  Tab Bar Controllers
  •  Objective-C:  Protocols
  •  Table View Controllers: Static
  •  Table View: Pull to Refresh (UIRefreshControl)
  •  Table View Controllers: Prototype

iPad Layouts

  •  Universal Apps & Multiple Targets
  •  Split View Controllers
  •  Popovers


  •  Image Views
  •  Web Views
  •  Map Views


  •  Device Rotation
  •  Interface Builder Constraints
  •  NSLayoutConstraints

Handling User Input

  •  Alert Views and Action Sheets
  •  Text Fields & Views, Keyboards, and "First Responders"
  •  Objective-C: Selectors
  •  Gestures (Pinch, Pan, Swipe, etc.)

Core Data

  •  Persistence Options in iOS
  •  Core Data Architecture
  •  Schema Design in Xcode
  •  Generating Model Classes
  •  Basic Stack Configuration
  •  CRUD Operations

Device Provisioning & Distribution Demo

  •  Digital Signatures and Assets
  •  Development Build: Deploying to Your Own Device
  •  Overview of the Provisioning Portal
  •  Development and Distribution Certificates
  •  Approved Devices
  •  App IDs
  •  Provisioning Profiles
  •  Targets, Configurations, and Schemes
  •  Ad Hoc Build: Archiving and Distributing
  •  Public Build: iTunes App Store

Appendix A: Other Data Persistence Options

  •  User Defaults
  •  File System
  •  iCloud Key/Value Pairs

Appendix B: Additional Objective-C Topics

  •  Structs and Enums
  •  Control Structures: Conditionals & Loops
  •  The "Address Of" Operator
  •  Basic Introspection
  •  Categories
  •  Blocks
  •  Manual Retain-Release Memory Management

Appendix C: Additional iOS Topics

  •  Scroll Views
  •  Internationalization (i18n)
  •  Local Notifications
  •  Sliders, Switches, and Steppers
  •  Pickers: Date and Custom
  •  Device Rotation with Springs and Struts for iOS 5 and Earlier

Appendix D: Additional Core Data Topics

  •  Fetch Request Templates
  •  Fetched Results Controller
  •  Lightweight Model Migration

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.