Swift26 phases · 103 topics
Progress
0 / 103
Foundations
Generic Functions & Type Parameters
Associated Types & Protocol Generics
Opaque Types (some)
Core Concepts
Existential Types (any)
Conditional Conformance
Phantom Types for Type Safety
Intermediate Skills
Generic Subscripts & Extensions
Closure Expression Syntax
Trailing Closure & Operator Methods
Advanced Topics
Capturing Values & Capture Lists
@escaping & @autoclosure
Closure Lifetime & Strong Reference Cycles
Expert Level
Closure in Result Builders
Function vs Closure Performance
async/await (Swift 5.5)
Mastery
Task & TaskGroup
Actor Isolation & reentrancy
@MainActor & Global Actors
Ecosystem
AsyncSequence & AsyncStream
Continuations (withCheckedContinuation)
Structured Concurrency Patterns
Architecture
ARC (Automatic Reference Counting)
Strong, Weak, Unowned References
Retain Cycle Detection
Optimization
Autoreleasepool
Value Semantics & Copy-on-Write
COW Implementation for Custom Types
Deployment
Memory Allocation (malloc, class_getInstanceSize)
Property Wrapper Definition
projectedValue ($ prefix)
Phase 11
Built-in Wrappers (@State, @Binding, @Published)
Custom Validation Wrappers
Dependency Injection Wrappers
Phase 12
UserDefaults Wrapper
Property Wrapper Composition
Result Builder Protocol (buildBlock, buildEither)
Phase 13
buildArray for Dynamic Content
buildOptional & If/Else
AttributedResultBuilder (SwiftUI ViewBuilder)
Phase 14
Custom Result Builder for DSLs
Result Builder Debugging
Performance Considerations
Phase 15
Freestanding Macros (#)
Attached Macros (@)
Macro Declaration & Implementation
Phase 16
SwiftSyntax & Macro Expansion
Peer & Member Macros
Macro Roles & Common Patterns
Phase 17
Debugging Macros
Codable Protocol Hierarchy
CodingKey & Custom Key Strategies
Phase 18
Custom encode(to:)/init(from:)
JSONEncoder/Decoder Configuration
Partial & Conditional Decoding
Phase 19
Property Wrapper + Codable
Performance of Codable vs Manual
View Protocol & Body
Phase 20
State Management (State, Binding, ObservedObject)
@StateObject vs @ObservedObject
PreferenceKey
Phase 21
GeometryReader & Layout
EquatableView & Performance
Custom Layout (Layout Protocol)
Phase 22
Publisher, Subscriber, Subscription
Operators (map, flatMap, filter, merge)
Scheduler (DispatchQueue, RunLoop)
Phase 23
Subjects (Passthrough, CurrentValue)
Cancellation & Share
Combine + SwiftUI Integration
Phase 24
Custom Publisher Implementation
XCTest Framework
Async Test Expectations
Phase 25
UI Testing (XCUITest)
Mocking with Protocols
Performance Testing (measure)
Phase 26
Test Coverage (llvm-cov)
Snapshot Testing (swift-snapshot-testing)
Swift RoadmapSwift
Space mark complete · Esc close · Drag pan · Wheel zoom