English French German Italian Portuguese Russian Spanish


Apple Swift Training

 PDF PrintEmail

Course duration

  • 4 Days

Course Outline

Swift is a new programming language from Apple for creating iOS and OS X apps. According to Apple "Swift builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift's clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works."

This Swift training class introduces attendees to Apple's new programming language for Cocoa and Cocoa Touch. During the class, attendees complete hands-on lab exercises that involve building applications for both the iOS and OS X platforms.

  • Understand the benefits of Swift and its role in iOS and OS X software development.
  • 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.
  • Previous programming experience (any language).
  • Familiarity with object-oriented programming concepts is recommended but not required.
  • Some experience using the OS X operating system (launching applications, working with files, etc.).
  1. Introduction
    1. Overview of OS X
    2. Cocoa Frameworks
    3. Overview of iOS
    4. Cocoa Touch Frameworks
    5. Memory Management
    6. Objective-C
    7. Swift Language
    8. Tour of the Xcode IDE
    9. Interactive Playgrounds
  2. Swift Basics
    1. Statements
    2. Constants and Variables
    3. Type Annotations
    4. Type Safety and Inference
    5. Type Aliases
  3. Numeric Types
    1. Boolean Type
    2. Integer Types
    3. Floating Point Types
    4. Numeric Literals
    5. Numeric Type Conversion
  4. Operators
    1. Assignment
    2. Arithmetic
    3. Compound Assignment
    4. Comparison
    5. Range Operators
    6. Logical Operators
    7. Advanced Operators
  5. Strings and Characters
    1. String Literals
    2. Mutability
    3. Comparing
    4. Unicode
  6. Collection Types
    1. Mutability
    2. Tuples
    3. Arrays
    4. Array Literals
    5. Dictionaries
    6. Dictionary Literals
  7. Control Flow
    1. Loops
    2. Conditional Statements
    3. Control Transfer Statements
    4. Functions
    5. Closures
  8. 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
  9. Closures
    1. Closure Expression Syntax
    2. Trailing Closures
    3. Capturing Values
  10. Enumerations
    1. Syntax
    2. Switch Statement
    3. Associated Values
  11. 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
  12. Automatic Reference Counting (ARC)
    1. Introduction
    2. Reference Cycles
    3. Weak References
    4. Unowned References
  13. Optionals
    1. Forced Unwrapping
    2. Binding
    3. Implicitly Unwrapped Optionals
    4. Optional Chaining
  14. Protocols
    1. Syntax
    2. Requirements
    3. Protocols as Types
    4. Delegation
    5. Collections
    6. Inheritance
    7. Composition
  15. Generics
    1. Generic Functions
    2. Type Parameters
    3. Generic Types
    4. Constraints
    5. Associated Types
  16. Debugging
    1. Assertions
    2. LLDB and the Swift REPL
    3. Advanced Swift Debugging in LLDB
  17. 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
  18. 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.