English French German Italian Portuguese Russian Spanish


Swift for Experienced Objective-C Programmers

 PDF PrintEmail

Course duration

  • 3 Days

Course Outline

This Swift training class introduces experienced Objective-C programmers to the Swift language for Cocoa and Cocoa Touch. During the class, attendees complete activities that include building apps for both the iOS and OS X platforms.

NOTE: This outline is based on pre-release software and is subject to change. This course does not yet have a release date. In the meantime, please see our other Swift offerings.

  • Understand the advantages of the Swift language and how it differs from Objective-C.
  • Gain experience using Swift's data types and standard library.
  • Build iOS and OS X apps using Swift.
  • Learn how Swift supports object-oriented development principles.
  • Become familiar with the advanced features of the Swift language.
  • Extensive experience with the Objective-C programming language.
  • Previous experience building OS X or iOS applications using Xcode.
  1. Introduction
    1. Goals of the Swift Language
    2. Swift vs. Objective-C
    3. Interactive Playgrounds
  2. Swift Basics
    1. Statements
    2. Constants and Variables
    3. Type Annotations
    4. Type Safety and Inference
    5. Type Aliases
  3. Accelerated Language Concepts
    1. Types
    2. Operators
    3. Strings and Characters
    4. Control Flow
  4. Collection Types
    1. Mutability
    2. Tuples
    3. Arrays
    4. Array Literals
    5. Dictionaries
    6. Dictionary Literals
  5. Functions
    1. Parameters and Return Values
    2. Parameter Names
    3. Default Parameter Values
    4. Variadic Parameters
    5. In-Out Parameters
    6. Function Types
    7. Nested Functions
  6. Closures
    1. Closure Expression Syntax
    2. Trailing Closures
    3. Capturing Values
  7. Enumerations
    1. Syntax
    2. Switch Statement
    3. Associated Values
  8. Classes and Structures
    1. Properties
    2. Lazy Stored Properties
    3. Property Observers
    4. Instance Methods
    5. Type Methods
    6. Subscripts
    7. Inheritance
    8. Overriding
    9. Type Casting
    10. Initialization
    11. Initializer Chaining
    12. Deinitialization
    13. Nested Types
    14. Extensions
  9. Automatic Reference Counting (ARC)
    1. Introduction
    2. Reference Cycles
    3. Weak References
    4. Unowned References
  10. Optionals
    1. Forced Unwrapping
    2. Binding
    3. Implicitly Unwrapped Optionals
    4. Optional Chaining
  11. Protocols
    1. Syntax
    2. Requirements
    3. Protocols as Types
    4. Delegation
    5. Collections
    6. Inheritance
    7. Composition
  12. Generics
    1. Generic Functions
    2. Type Parameters
    3. Generic Types
    4. Constraints
    5. Associated Types
  13. Debugging
    1. Assertions
    2. LLDB and the Swift REPL
    3. Advanced Swift Debugging in LLDB
  14. Interoperability
    1. Interacting with Objective-C APIs
    2. Interaction with C APIs
    3. Mixing Swift and Objective-C
    4. Migrating an Objective-C Project to Swift
  15. Conclusion

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.