Using Swift Advanced Language Features Overview/Description Target Audience Prerequisites Expected Duration Lesson Objectives Course Number Expertise Level Overview/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.
Target Audience 
Developers who want to learn more advanced features of the Swift programming language
Prerequisites 
none
Expected Duration (hours) 
2.5
Lesson Objectives Using Swift Advanced Language Features 
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 
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 
define functions using default and variadic parameters 
define functions using variable and inout function parameters 
define and pass around function types 
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 
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 
work with advanced features of Swift 
Course Number: sd_swft_a02_it_enus
Expertise Level 
Intermediate