Swift Programming Course

Contact PI


  • Virtual Classroom

  • Onsite

Duration: 5 Days

Overview

Be one of the absolute first to learn and master the brand new Swift Programming Langauge. Using Xcode 6, iOS 8, and the Swift Playground, this course covers the key skills required to master the Swift Programming Langauge. Swift is the brand new, very modern, and very important language used to write iOS and OS X code. Using the Xcode 6 IDE, the course covers not only the Swift language but also how to use the common classes that are included in Swift to greatly increase your productivity. At the end of the course, you will be able to write Swift code for iPhone, iPad and Mac OS X. 100% Hands-On. The Fastest and Best Way To Lean.

Course Objectives

  • Describe the software features provided by the Swift Programming Language.
  • Gain skills using Swift Playgroud
  • Gain skills writing Swift code
  • Gain skills using the Swift classes

Course Prerequisites

  • Experience with a language such as C, Objective-C, C++, C#, Java or equivalent. No previous experience with the Mac is required. Hardware/Software Prerequisites The student must have a computer running Xcode 6.


    Course Outline

  • Introduction to Swift

    • Swift and Objective-C
    • Swift Language Features
    • Swift and Mac OS X
    • Swift and iPhone/iPad/iOS
    • Lab Exercises
  • Swift Development Tools

    • Xcode
    • Swift Playground
    • Debugger
    • Instruments
    • Lab Exercises
  • Swift Basics

    • Constants (let) and Variables (let)
    • Fundamental Types: Int, Bool, String, Float, Double
    • Operators
    • Collection Types: Array, Dictionary
    • Types: Annotations, Inference, and Aliases
    • Optionals
    • Tuples
    • Assertions
    • Lab Exercises
  • Swift Strings and Characters

    • String Literals
    • String Mutability
    • Characters
    • Counting
    • Concatenation
    • Comparing
    • Unicode, UTF-8, UTF-16
    • Lab Exercises
  • Swift Collection Types

    • Arrays
    • Array Initialization
    • Array Access and Modification
    • Dictionary
    • Dictionary Initialization
    • Dictionary Access and Modification
    • Lab Exercises
  • Swift Control Flow

    • If
    • If-Else
    • Switch
    • For-In
    • For-Condition-Increment
    • While
    • Do-While
    • Lab Exercises
  • Swift Functions

    • Defining and Calling
    • Local Parameter Names
    • External Parameter Names
    • Shorthand External Parameter Names
    • Default Parameter Values
    • Variadic Parameters
    • Single Return Values
    • Multiple Return Values
    • Nested Functions
    • Lab Exercises
  • Swift Closures

    • Closure Expressions
    • Closure Syntax
    • Shorthand Argument Names
    • Trailing Closures
    • Capturing Values
    • Lab Exercises
  • Enumerators

    • Enumeration Syntax
    • Switch and Case
    • Associated Values
    • Raw Values
    • Lab Exercises
  • Classes and Structures

    • Comparing Classes and Structures
    • Initialization and Deinitialization
    • Syntax
    • Instances
    • Properties
    • Value Types: Structures and Enumerations
    • Reference Types: Classes
    • Identity Operators
    • Assignment and Copy
    • Lab Exercises
  • Properties

    • Stored Properties
    • Lazy Stored Properties
    • Computed Properties
    • Shorthand Setter Declaration
    • Read-Only Computed Properties
    • Property Observers
    • Global and Local
    • Lab Exercises
  • Methods

    • Instance Methods
    • Local and External Parameter Names
    • self
    • Modifying Value Types
    • Mutating Methods
    • Type Methods
    • Lab Exercises
  • Generics

    • About Generics
    • Generic Functions
    • Type Parameters
    • Naming Type Parameters
    • Generic Types
    • Type Constraints
    • Associated Types
    • Where Clauses
    • Lab Exercises
  • Subscripts

    • Subscript Syntax
    • Subscript Usage
    • Subscript Options
    • Lab Exercises
  • Inheritance

    • Base Classes
    • Subclasses
    • Overriding Methods
    • Overriding Properties
    • Preventing Overrides
    • Lab Exercises
  • Protocols

    • Protocol Syntax
    • Property Requirements
    • Method Requirements
    • Mutable Method Requirements
    • Delegation
    • Protocol Inheritance
    • Protocol Composition
    • Optional Protocol Requirements
    • Lab Exercises
  • Additional Swift Topics

    • Automatic Reference Counting (ARC)
    • Optional Chaining
    • Type Casting
    • Nested Types
    • Extensions
    • Advanced Operators
    • Lab Exercises
  • Where to go from here?

    • Course Summary
    • Where to go form here