• Online, Self-Paced
Course Description

Swift is a new programming language for building OS X and iOS applications. It is based on Objective-C, but it uses features from a range of different languages. In this course, you'll learn how to work with more advanced features of the Swift language. You'll learn how to define properties and methods with enumerations, structures and classes, and use type checking and casting. The course will also cover extensions, protocols and generics, and you'll learn how to implement access control, memory management and use imported frameworks.

Learning Objectives

Working with Enumerations, Structures, and Classes

  • start the course
  • use stored and lazy stored properties in instances of enumerations, structures, and classes in Swift
  • use computed properties with instances of enumerations, structures, and classes in Swift
  • use property and variable observers in Swift
  • define type properties for classes, structures, and enumerations in Swift
  • use instance methods with instance of classes, structures, and enumerations in Swift
  • define type methods for classes, structures, and enumerations in Swift
  • use subscripts with classes, structures, and enumerations in Swift
  • implement class inheritance with subclassing and overriding functionality in Swift

Working with Types, Optionals, and Operators

  • implement type checking in Swift
  • implement DownCasting in Swift
  • implement type casting for Any and AnyObject in Swift
  • nest enumerations, structures, and classes in Swift
  • implement optional chaining in Swift
  • work with advanced operators in Swift
  • overload operators in Swift

Advanced Function Definition

  • define functions using default and variadic parameters
  • define functions using variable and inout function parameters
  • define and pass around function types

Extensions, Protocol, and Generics

  • introduce extensions and use them to add computed properties to classes, structures, and enumerations in Swift
  • introduce extensions and syntax, and use them to add initializers and methods to classes, structures, and enumerations in Swift
  • use extensions to add subscripts and nested types to classes, structures, and enumerations in Swift
  • use protocols as blueprints for functionality in Swift
  • introduce generics and use generics to write reusable functions in Swift
  • use generics to write reusable types in Swift

Access Control and Importing Frameworks

  • describe general access level guidelines and describe how to implement custom access levels for specific entities in Swift
  • implement deinitialization for classes in Swift
  • describe automatic reference counting (ARC) and describe and resolve strong references cycles in Swift
  • import a framework and use one or more of its classes in a Swift program

Practice: Working with Advanced Features of Swift

  • work with advanced features of Swift

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.