swift
Swift
Optionals, protocols, structured concurrency and SwiftUI
13 topics 5 sections Swift 6.3.3 beginner → intermediate
All beginner intermediate advanced
show All Unread Read
01 · Basics
7 topics Automatic reference counting How Swift ARC governs class-instance lifetimes, and how strong, weak, and unowned references prevent or create reference cycles. intermediate 15 min Closures Understand Swift function values, capture timing, escaping rules, capture lists, and autoclosures, and design callbacks with explicit lifetime and concurrency semantics. intermediate 19 min Codable Use Swift's type system to encode and decode data, with precise control over key mapping, missing values, and diagnostic error paths. intermediate 14 min Enums and pattern matching Model finite Swift states and use exhaustive patterns to extract associated values, filter cases, and handle type evolution safely. intermediate 14 min Error handling Model recoverable failure with Error, throw, do-catch, typed throws, and Result while preserving useful information at the right boundary. intermediate 17 min Structures and classes Choose Swift structures or classes using value semantics, reference identity, initialization, and copy-on-write without accidental shared state. intermediate 11 min Swift fundamentals Swift's static types, immutable and mutable bindings, safe conversions, control flow, functions, collections, and value semantics in working programs. beginner 13 min
02 · Optionals and protocols
6 topics Extensions Add computed properties, methods, and conformances to existing Swift types without confusing dispatch, storage, or module ownership. intermediate 14 min Generics Use type parameters, constraints, where clauses, and associated types to write reusable Swift while preserving compile-time type relationships. intermediate 16 min Optionals Model missing values in the type system and use binding, chaining, coalescing, transformations, and nested optionals without losing meaning. beginner 14 min Property wrappers Understand how Swift property wrappers synthesize storage, wrapped and projected values, and how they affect initialization, copying, Codable, and concurrency. intermediate 16 min Protocol constraints and existentials Declare capabilities with Swift protocols, preserve type relationships with generics, and choose associated types, some, and any precisely. intermediate 16 min Protocols Define capability boundaries with protocols, and understand requirements, conformance, defaults, associated types, some, and any. intermediate 16 min