Course

Swift

Topics in Swift.

77 Topics 6 Quizzes 7h 42min Est. Time

Curriculum

1
Generic Functions & Type Parameters
Generic Functions & Type Parameters
2
Associated Types & Protocol Generics
Associated Types & Protocol Generics
3
Opaque Types (some)
Opaque Types (some)
4
Existential Types (any)
Existential Types (any)
5
Conditional Conformance
Conditional Conformance
6
Phantom Types for Type Safety
Phantom Types for Type Safety
7
Generic Subscripts & Extensions
Generic Subscripts & Extensions
8
Closure Expression Syntax
Closure Expression Syntax
9
Trailing Closure & Operator Methods
Trailing Closure & Operator Methods
10
Capturing Values & Capture Lists
Capturing Values & Capture Lists
11
@escaping & @autoclosure
@escaping & @autoclosure
12
Closure Lifetime & Strong Reference Cycles
Closure Lifetime & Strong Reference Cycles
13
Closure in Result Builders
Closure in Result Builders
14
Function vs Closure Performance
Function vs Closure Performance
15
async/await (Swift 5.5)
async/await (Swift 5.5)
16
Task & TaskGroup
Task & TaskGroup
17
Actor Isolation & reentrancy
Actor Isolation & reentrancy
18
@MainActor & Global Actors
@MainActor & Global Actors
19
AsyncSequence & AsyncStream
AsyncSequence & AsyncStream
20
Continuations (withCheckedContinuation)
Continuations (withCheckedContinuation)
21
Structured Concurrency Patterns
Structured Concurrency Patterns
22
ARC (Automatic Reference Counting)
ARC (Automatic Reference Counting)
23
Strong, Weak, Unowned References
Strong, Weak, Unowned References
24
Retain Cycle Detection
Retain Cycle Detection
25
Autoreleasepool
Autoreleasepool
26
Value Semantics & Copy-on-Write
Value Semantics & Copy-on-Write
27
COW Implementation for Custom Types
COW Implementation for Custom Types
28
Memory Allocation (malloc, class_getInstanceSize)
Memory Allocation (malloc, class_getInstanceSize)
29
Property Wrapper Definition
Property Wrapper Definition
30
projectedValue ($ prefix)
projectedValue ($ prefix)
31
Built-in Wrappers (@State, @Binding, @Published)
Built-in Wrappers (@State, @Binding, @Published)
32
Custom Validation Wrappers
Custom Validation Wrappers
33
Dependency Injection Wrappers
Dependency Injection Wrappers
34
UserDefaults Wrapper
UserDefaults Wrapper
35
Property Wrapper Composition
Property Wrapper Composition
36
Result Builder Protocol (buildBlock, buildEither)
Result Builder Protocol (buildBlock, buildEither)
37
buildArray for Dynamic Content
buildArray for Dynamic Content
38
buildOptional & If/Else
buildOptional & If/Else
39
AttributedResultBuilder (SwiftUI ViewBuilder)
AttributedResultBuilder (SwiftUI ViewBuilder)
40
Custom Result Builder for DSLs
Custom Result Builder for DSLs
41
Result Builder Debugging
Result Builder Debugging
42
Performance Considerations
Performance Considerations
43
Freestanding Macros (#)
Freestanding Macros (#)
44
Attached Macros (@)
Attached Macros (@)
45
Macro Declaration & Implementation
Macro Declaration & Implementation
46
SwiftSyntax & Macro Expansion
SwiftSyntax & Macro Expansion
47
Peer & Member Macros
Peer & Member Macros
48
Macro Roles & Common Patterns
Macro Roles & Common Patterns
49
Debugging Macros
Debugging Macros
50
Codable Protocol Hierarchy
Codable Protocol Hierarchy
51
CodingKey & Custom Key Strategies
CodingKey & Custom Key Strategies
52
Custom encode(to:)/init(from:)
Custom encode(to:)/init(from:)
53
JSONEncoder/Decoder Configuration
JSONEncoder/Decoder Configuration
54
Partial & Conditional Decoding
Partial & Conditional Decoding
55
Property Wrapper + Codable
Property Wrapper + Codable
56
Performance of Codable vs Manual
Performance of Codable vs Manual
57
View Protocol & Body
View Protocol & Body
58
State Management (State, Binding, ObservedObject)
State Management (State, Binding, ObservedObject)
59
@StateObject vs @ObservedObject
@StateObject vs @ObservedObject
60
PreferenceKey
PreferenceKey
61
GeometryReader & Layout
GeometryReader & Layout
62
EquatableView & Performance
EquatableView & Performance
63
Custom Layout (Layout Protocol)
Custom Layout (Layout Protocol)
64
Publisher, Subscriber, Subscription
Publisher, Subscriber, Subscription
65
Operators (map, flatMap, filter, merge)
Operators (map, flatMap, filter, merge)
66
Scheduler (DispatchQueue, RunLoop)
Scheduler (DispatchQueue, RunLoop)
67
Subjects (Passthrough, CurrentValue)
Subjects (Passthrough, CurrentValue)
68
Cancellation & Share
Cancellation & Share
69
Combine + SwiftUI Integration
Combine + SwiftUI Integration
70
Custom Publisher Implementation
Custom Publisher Implementation
71
XCTest Framework
XCTest Framework
72
Async Test Expectations
Async Test Expectations
73
UI Testing (XCUITest)
UI Testing (XCUITest)
74
Mocking with Protocols
Mocking with Protocols
75
Performance Testing (measure)
Performance Testing (measure)
76
Test Coverage (llvm-cov)
Test Coverage (llvm-cov)
77
Snapshot Testing (swift-snapshot-testing)
Snapshot Testing (swift-snapshot-testing)

Quizzes

Swift Basics
5 questions
Swift Core Concepts
5 questions
Swift Intermediate
5 questions
Swift Advanced
5 questions
Swift Expert
5 questions
Swift Mastery
5 questions