Books & Videos

Table of Contents

Chapter: Swift Primer and Introduction to Functional Programming

The Course Overview

04m 3s

Swift Review – Operators, Types, and Strings

06m 14s

Swift Review – Collection Types

05m 22s

Swift Review – Classes, Structs, and Enums

05m 50s

Swift Review – Flow of Control and Optionals

06m 5s

What’s New in Swift 2?

05m 39s

Functional Programming

05m 11s

Protocol Oriented Programming

03m 49s

Chapter: Advanced Language Features and Functional Concepts

Introducing Game of Life

09m 16s

Function Value Types and Closure Syntax

03m 57s


05m 46s


05m 29s

Higher-order Functions – Filter

08m 16s

Higher-order Functions – Map

05m 9s

Higher-order Functions – FlatMap

03m 28s

Higher-order Functions – Reduce

02m 40s

Sequences and Generators

04m 7s

Chapter: Exploring Swift’s Memory Management

What Is ARC?

06m 15s

Introduction to Instruments

04m 30s

Strong Reference Cycles

04m 57s

Fixing our Leak – Weak and Unowned References

04m 44s

Creating a Zombie

04m 37s

8 Tips to Improve Memory Performance

05m 31s

Chapter: Interoperability and Working with 3rd Party Libraries

Implicit Bridging and Cocoa

05m 41s

Exposing Swift to Objective-C

05m 23s

Using Objective-C in Swift

04m 43s

Interacting with C

05m 28s

Wrapping C++ for Using in Swift

03m 45s

Working with CocoaPods

05m 31s

Incorporating an Objective-C Library

06m 34s

Chapter: Concurrency and Grand Central Dispatch

Understanding Concurrency

04m 11s

Threading with NSThread

04m 47s

Locking Threads

03m 27s

Asynchronous Methods

04m 34s

Concurrency with NSOperationQueue

05m 54s

Grand Central Dispatch

04m 15s

Working with Dispatch Queues

04m 18s

Asynchronous Programming with Dispatch Groups

06m 27s

Chapter: Troubleshooting, Advanced Debugging, and Error Handling

The LLDB Debugger

05m 31s

Advanced Breakpoints

06m 59s

The LLDB Command Language

04m 16s

Address Sanitization

03m 38s


04m 23s

Error Handling

05m 42s

Chapter: Performance Optimization and Introduction to Algorithms

Identifying Performance Bottlenecks with XCTest and Time Profiler

06m 42s

Whole Module Optimization

06m 4s

Reducing Dynamic Dispatch

03m 40s

Reference Types and Performance

04m 40s

Generic Specialization

04m 39s

Choosing the Right Algorithm

04m 55s


07m 54s

Chapter: Design Patterns

Design Patterns Overview

02m 58s

Singleton Pattern

04m 49s

Factory Pattern

05m 11s

Adapter Pattern

04m 57s

Façade Pattern

03m 27s

Chain of Responsibility Pattern

04m 41s

Observer Pattern

04m 35s