Programming in Swift for iOS Development Training Course

Programming in Swift for iOS Development Training Course

Maryland, Virginia, Washington D.C., Virtually Online Live & On-Site

Programming in Swift for iOS App Development Course Description:

With Swift, Apple has introduced a fast and innovative new programming language aimed specifically at iPhone, iPad and OS X App Development. Modern and concise, Swift represents a major departure from Objective-C in both structure and syntax as it introduces many new programming concepts. This course will thoroughly cover all the major features of Swift, from basic variable and constants declarations to working with Collection Objects, Optionals, Variadic and Curried Functions, Tuples, Closures, Control-Flow statements, and the creation of custom Swift Classes. The course is aimed at creating a solid foundation in Swift programming so as to easily enable moving towards iPhone, iPad and OS X App Development using Swift.

Locations for Programming in Swift for iOS App Development:

In Person at ThinkB!G’s Office in Columbia, MD (next to the Columbia Mall)
Online Live from Anywhere
Private Custom Training On Site at Your Location

Times for Programming in Swift for iOS App Development:

In Person & Online Live: 8:30AM-3:00PM ET / 5:30AM-12:00PM PT (30 Minute Lunch)
Private Custom & Project Based Training: Your preference
*Please click the Dates To Register tab above to see all dates & times available.*

Prerequisites for Programming in Swift for iOS App Development:

This class for beginner programmers and programmers who are not familiar with Swift. It is recommended as the for our prerequisite/companion class to the 5-day iOS 8 App Development Using Swift class.

Job Roles That Use Swift:

App Developers

Projects That Use Swift:

iOS, OS X & watchOS Development

Programming in Swift for iOS App Development Class Includes:

Hands-On Training Led by Certified Instructors
Print and/or Digital Courseware
Certificate of Completion
Continental Breakfast Every Day (In Person Only)
Catered Gourmet Deli Lunch Every Day (In Person Only)
Unlimited Snacks and Refreshments (In Person Only)
Notebook & Pen (In Person Only)
Free Parking (In Person Only)

Software Versions:

ThinkB!G open enrollment classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 301-362-2250.

Related Training and Certification Courses:

iPhone & iPad Application Development – Level 2
Cross-Platform Mobile App Development

Programming in Swift for iOS Development Training Outline

I. Creating and Running a Swift Project in Xcode
1. Xcode IDE overview
2. Creating and using Playgrounds
3. Building and testing programs – the workflow

II. Variables, Constants, and Swift Data Types
1. Variables and Constants
2. Data Types: Ints, Floats, Doubles, Bools and Characters
3. Strings – Literals, Mutability, Interpolation, Concatenation
4. Type Inference & Type-Safety
5. Type Casting
6. Unicode characters in Variable declaration

III. Working with Collection Objects
1. Arrays
i. Array Literals
ii. Creating and Initializing Arrays
iii. Accessing & Modifying Arrays
iv. Iterating over Arrays
v. Assignment and Copy Behavior for Arrays
2. Dictionaries
i. Dictionary Literals
ii. Initializing
iii. Modifying Dictionaries
iv. Iterating over Dictionaries
v. Assignment and Copy Behavior for Dictionaries
3. Sequence Operations
i. map
ii. filter
iii. reduce

IV. Control-Flow
1. Conditionals
i. IF and Ternary Statements, Compound Relationals
ii. Switch Statement – switch with Strings, Range-Matching, Tuples, Value Bindings, WHERE clauses
iii. Control Transfer Statements – Continue, Break, Fallthrough, Return
2. Loops
i. FOR loops, FOR-IN loops, FOR-Condition-Increment
ii. WHILE loops, DO-WHILE loops

V. Writing Classes in Swift
1. Properties
i. Stored Properties – Variable or Constant
ii. Optional Properties
iii. Computed properties – Read/Write, Read-Only
iv. Lazy Properties
v. Property Observers
vi. Type Properties
2. Methods
i. Instance Methods
• init methods – Designated Initializer, Convenience Initializer, Initializer Delegation, Initializer Chaining
• Customizing Initialization
ii. Local and External Parameter Names
iii. The Self keyword
iv. Type Methods

VI. Inheritance
1. Base Classes, Creating Subclasses
2. Overriding Methods & Properties
3. Preventing Overrides

VII. Optionals
1. Forced Unwrapping
2. Optional Binding
3. Implicitly Unwrapped Optionals
4. Optional Chaining

VIII. Functions
1. Basic, Argumented, Variadic Parameters Functions, inout Parameter Value Functions, Curried Functions, Nested Functions,with Default parameter values, with Return types, Returning Multiple/Tuple Types
2. Constant and Variable Parameters
3. Function Types
4. Functions Returning functions

IX. Structures
1. Properties & Methods
2. Memberwise Initializers
3. Mutating Functions
4. Structures vs. Classes
5. Asking Questions about Classes

X. Enumerations
1. Declaration & Creation
2. Matching with Switch Statements
3. Associated Values
4. Raw Values

XI. Generics
1. Generic Functions
2. Generic Types
3. Type Parameters
4. Extending Generic Types
5. Associated Types

XII. Protocols
1. Protocol Declarations and Syntax
2. Property and Methods Requirements
3. Requiring Initializers
4. Protocol Types
5. Swift Standard Library Protocols
6. GeneratorType, SequenceType, CollectionType
7. Protocol Inheritance

XIII. Closures
1. Closure Expressions & Syntax
2. Closure Context Type Inferrence
3. Shorthand Argument Names
4. Trailing Closures

XIV. Debugging
1. Creating Breakpoints
2. Advanced Breakpoints
3. Debugging in LLDB

XV. Memeroy Management – Automatic Reference Counting
1. Weak References
2. Strong References
3. Unowned References

This video will show you more information about Swift. This is not a reflection of our online courses which are live.

We have instructors ready to teach this class, but we do not currently offer it on our open enrollment schedule. If you are interested in this class, please fill out the form below and we will contact you shortly about your training options!