Prerequisites

All students should have substantial previous programming experience using an object-oriented C-based language such as C#, Java, or C++.
 
An Apple computer running OS X 10.10.3 (or later) and Xcode 7 (or later).

Duration

5 Days.

Outline for iOS 9 App Development using Swift Training

1.Introduction

  • iOS Devices
  • iOS Operating System
  • Programming Languages
  • Development Tools
  • iOS SDK
  • Apple Developer Program

2. Swift (Part I)

  • Introduction
  • Constants and Variables
  • Type Annotations
  • Basic Types
  • Optionals
  • Functions
  • User Defined Types

3. Unit Testing

  • Introduction
  • XCTest Framework
  • Xcode Service

4. iOS App Architecture

  • Introduction
  • Model-View-Controller (MVC)
  • View Controllers
  • Storyboards
  • Outlets
  • Actions

5. Auto Layout

  • Introduction
  • Constraints
  • Insufficient Constraints
  • Misplaced Views
  • Conflicting Constraints
  • Content Hugging
  • Compression Resistance
  • Size Classes

6. Swift (Part II)

  • Collections
  • Control Flow
  • Inheritance
  • Initialization
  • Deinitialization
  • Protocols
  • Error Handling
  • Access Control

7. Storyboards

  • Scenes
  • Segues
  • Moving Data Between Controllers
  • Navigation Controller

8. Table Views

  • Introduction
  • Data Sources
  • Delegates

9. Swift (Part III)

  • Computed Properties
  • Property Observers
  • Extensions
  • Function Types
  • Closures

10. Networking

  • URL Loading System
  • NSURLSession
  • Asynchronous Downloads
  • Strings and Images
  • JSON
  • XML
  • HTTP POST Requests

11. Local Storage

  • User Defaults
  • Sandboxing
  • Working with Files
  • Archiving
  • UIDocument
  • SQLite
  • Core Data

12. Multitouch, Taps, and Gestures

  • Introduction
  • Gestures, Taps, and Touches
  • Touch Notification Methods
  • Gesture Recognizers

13. Drawing

  • Core Graphics and Quartz 2D
  • Points, Coordinates, and Pixels
  • Graphics Context

14. Animation

  • Core Animation
  • UIView Core Animation Blocks
  • Animation Curves
  • Transformations

15. App States

  • Introduction
  • Best Practices
  • App States
  • App Lifecycle
  • Moving to the Background
  • Memory Usage
  • Background Execution

16. Notifications

  • Local Notifications
  • Push Notifications

17. Core Location and MapKit

  • Basics
  • Location Accuracy
  • Distance Filter
  • Calculating Distances
  • Compass
  • MapKit Framework

18. Localization

  • Introduction
  • Resources
  • Language and Region
  • NSLocale
  • Text
  • Dates
  • Numbers

19. Running on a Physical Device

  • Introduction
  • Signing Assets
  • Xcode Integration

20. Performance and Power Optimization

  • Introduction
  • Measuring Performance
  • Responsiveness
  • Memory Usage
  • Networking
  • Core Location

21. Deployment

  • Icons and Launch Images
  • Archiving
  • Distribution
  • iTunes Connect