This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Swift - Learn Apple's New Programming Language Step By Step
Swift - The Introduction
Welcome - What Will You Learn from This Course (1:08)
Getting Swift Set Up On Your Machine (5:55)
The Basics
Constants and Variables (7:05)
Emoji Variable Names!? (3:12)
Type annotations (1:54)
Comments (1:54)
Semi-colons (1:22)
Integers (2:38)
Type Aliases (1:59)
Booleans (1:42)
Tuples (3:30)
Floating Point Numbers (2:16)
Optionals (4:55)
Numeric Literals (1:58)
Numeric Type Conversion (3:56)
Assertions (2:30)
The Basics - Quiz
Challenge (1:40)
Answers (2:07)
Basic Operators
Intro (1:34)
Assignment Operator (0:52)
Arithmetic Operators (1:10)
Remainder Operator (1:32)
Increment and Decrement Operators (2:09)
Compound Assignment Operators (1:56)
Comparison Operators (1:22)
Ternary Conditional Operators (1:19)
Range Operators (4:56)
Logical Operators (3:18)
Basic Operators Quiz
Basic Operators Challenge (0:25)
Basic Operators Answers (4:05)
Strings and Characters
Intro (1:06)
String Literals (1:58)
Initializing an Empty String (0:44)
String Mutability (0:57)
Strings Are Value Types (1:13)
Working with Characters (1:05)
Counting Characters (0:20)
Concatenating Strings and Characters (1:30)
String Interpolation (1:12)
Comparing Strings (1:49)
Uppercase and Lowercase Strings (0:28)
Unicode (2:16)
Strings and Characters Quiz
Strings and Characters Challenge (0:44)
Strings and Characters Answers (3:20)
Collection Types
Dictionary Literals (2:16)
Intro (1:11)
Changes In Arrays/Dictionaries (3:08)
Arrays (1:15)
Array Literals (1:36)
Accessing and Modifying an Array (6:41)
Iterating Over an Array (3:07)
Creating and Initializing an Array (3:08)
Dictionaries (2:45)
Accessing and Modifying a Dictionary (4:27)
Iterating Over a Dictionary (3:17)
Creating an Empty Dictionary (1:22)
Mutability of Collections (2:17)
Collection Types Quiz
Collection Types Challenge (0:21)
Collection Types Answers (3:10)
Control Flow
Intro (0:27)
For-In Loops (7:24)
For-Conditional-Increment Loops (3:06)
While Loops (4:17)
If Statements (2:22)
Switch Statements (4:26)
Switch Statements and Tuples (4:13)
Value Bindings (3:46)
Where Clause (2:56)
Continue (2:27)
Break (3:57)
Fallthrough (2:01)
Labeled Statements (2:53)
Control Flow Quiz
Control Flow Challenge (0:35)
Control Flow Answers (4:12)
Functions
Intro (9:23)
Return Values (5:06)
External Parameter Names (4:58)
Default Parameter Values (6:50)
Variadic Parameters (3:05)
Constant and Variable Parameters (1:34)
In-Out Parameters (5:01)
Function Types (2:42)
Function Types as Parameter Types (2:21)
Function Types as Return Types (2:07)
Nested Functions (3:19)
Functions Quiz
Functions Challenge (0:58)
Functions Answers (4:55)
Closures
Closures Intro (0:58)
Closures Expressions (11:45)
Trailing Closures (2:43)
Capturing Values (5:21)
Closures are Reference Types (1:58)
Closures Quiz
Closures Challenge (0:21)
Closures Answers (2:31)
Enumerations
Enumeration Syntax (4:57)
Enumerations With a Switch Statement (3:46)
Associated Values (4:00)
Raw Values (6:57)
Enumerations
Enumerations Challenge (0:35)
Enumerations Answers (2:13)
Classes and Structures
Comparing Classes and Structures (7:53)
Definition Syntax (2:01)
Class and Structure Instances (1:05)
Accessing Properties (1:55)
Memberwise Initializers for Structure Types (2:28)
Value Types vs. Reference Types (2:26)
Identity Operators (2:01)
Assignment and Copy Behavior for Strings, Arrays, and Dictionaries (2:14)
Classes and Structures Quiz
Classes and Structures Challenge (0:42)
Classes and Structures Answers (2:33)
Properties
Stored Properties (4:47)
Lazy Stored Properties (3:47)
Stored Properties and Instance Variables (1:04)
Computed Properties (2:54)
Property Observers (6:20)
Global and Local Variables (2:03)
Type Properties (3:03)
Properties Quiz
Methods
Intro (3:30)
Instance Methods (4:49)
Local and External Parameter Names (4:37)
The self Property (3:18)
Modify Value Types from Within Instance Methods (4:45)
Type Methods (5:44)
Subscripts
Intro (3:03)
Subscript Syntax (1:28)
Subscript Usage (2:06)
Subscript Options (8:05)
Inheritance
Intro (2:10)
Defining a Base Class (1:46)
Subclassing (2:02)
Overridding Methods (2:47)
Overriding Properties (1:34)
Overriding Property Observers (1:14)
Preventing Overrides (0:59)
Making Apps
Your First App (12:39)
What's a Table View!? (14:31)
Time to Segue (10:20)
Pass That Info (9:13)
Let's Make Better Navigation (4:05)
Where Do I Go from Here? (3:49)
Initialization
Intro (2:32)
Setting Initial Values for Stored Properties (3:23)
Customizing Initialization (5:21)
Default Initializers (5:53)
Initializer Delegation for Value Types (9:03)
Class Inheritance and Initalization (2:53)
Initializer Syntax (1:59)
Initializer without External Name (2:35)
Initializer with Custom External Name (3:26)
Failable Initializers (6:17)
Required Initializers (3:39)
Setting a Defualt Property Value with a Closure (8:36)
Deinitialization
Deinitialization (8:54)
ARC
Intro (5:53)
Strong Reference Cycle (5:08)
Unowned Reference (2:20)
Closures and Reference Cycles (5:08)
Optional Chaining
Intro (7:52)
Setting Properties and Functions (4:58)
Everything Comes Back as an Optional (4:16)
Type Casting
Intro / Type Checking (5:02)
Downcasting (9:28)
Nested Types
Intro...and Everything Else (8:48)
Extensions
Intro / Stored Properties (4:35)
Custom Initializers (3:12)
Functions, Subscripts, and Nested Types (4:43)
Protocols
Intro and Properties (4:36)
Method Requirements (6:06)
Initializers (4:00)
Protocols are Types (3:58)
Delegates (4:56)
Extensions (4:41)
Inheritance (2:52)
Class Only Protocols (1:36)
Protocol Composition (2:22)
Checking for Protocol Conformance (5:29)
Optional Protocol Requirements (6:32)
Associated Types (2:43)
Generics
Intro and Functions (13:14)
Generic Types (10:40)
Extensions (2:41)
Type Constraints (4:11)
Access Control
Intro and Access Levels (10:38)
Custom Types (8:28)
Subclassing (3:57)
Constants Variable Getters Setters (8:14)
Initializers (2:21)
Protocols (2:04)
Extensions (2:51)
Advanced Operators
Intro Bitwise Operators (11:35)
Left and Right Shift (6:19)
Overflow Operators (2:17)
Precedence and Associativity (1:07)
Operator Functions (10:39)
Raw Values
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock