Topics

537 questions across ten topics, in the order the book teaches them. Every one has the question, how to describe it, and how to use it.

Swift Fundamentals

swift-fundamentals/ · 55 questions
  • Value Types vs Reference Types
  • Noncopyable Types (~Copyable)
  • InlineArray and Span
  • Optionals and Optional Binding
  • guard vs if let
  • Closures and Escaping
  • Protocols and Protocol-Oriented Programming
  • Generics
  • Parameter Packs (Variadic Generics)
  • Error Handling
  • Typed Throws
  • Property Wrappers
  • and 43 more in the book

UIKit & Views

uikit-views/ · 59 questions
  • View Lifecycle
  • Automatic Observation Tracking
  • Auto Layout
  • UITableView vs UICollectionView
  • Cell Reuse
  • Empty, Loading and Error States
  • Safe Area
  • UIStackView
  • Responder Chain
  • Hit Testing
  • Storyboards vs Programmatic UI
  • Size Classes
  • and 47 more in the book

SwiftUI

swiftui/ · 56 questions
  • Observable Macro
  • @State, @Binding, @Bindable, and (legacy) @ObservedObject
  • @StateObject vs @ObservedObject
  • View Lifecycle
  • body as Computed Property
  • ObservableObject and @Published
  • Optional Binding
  • NavigationStack and Navigation
  • TabView and Tab
  • Sheets and fullScreenCover
  • @Environment and (legacy) @EnvironmentObject
  • GeometryReader
  • and 44 more in the book

Architecture

architecture/ · 53 questions
  • MVC
  • MVVM
  • VIPER
  • Coordinator Pattern
  • Dependency Injection
  • Repository Pattern
  • Delegate Pattern
  • NotificationCenter
  • Clean Architecture
  • SOLID Principles
  • Protocol-Oriented Architecture
  • Use Case / Interactor
  • and 41 more in the book

Networking

networking/ · 54 questions
  • URLSession
  • A Networking Layer for Swift 6 Strict Concurrency
  • Codable and JSON
  • REST API Design
  • Error Handling
  • Authentication
  • Passkeys
  • App Attest and DeviceCheck
  • Caching Policy
  • Background Downloads
  • Alamofire vs URLSession
  • SSL Pinning
  • and 42 more in the book

Concurrency

concurrency/ · 54 questions
  • async/await
  • MainActor
  • Approachable Concurrency (Swift 6.2)
  • Isolated Conformances
  • Task
  • Grand Central Dispatch
  • OperationQueue
  • Actors
  • Sendable
  • Region-Based Isolation and `sending`
  • Thread Safety
  • Retain Cycles in Async Code
  • and 42 more in the book

Memory & Performance

memory-performance/ · 52 questions
  • Retain Cycles
  • ARC
  • Instruments
  • Finding SwiftUI Performance Problems
  • Debugging Swift Concurrency Performance
  • Image Loading and Caching
  • Scroll Performance
  • Lazy Loading
  • Autoreleasepool
  • NSCache
  • Main Thread Best Practices
  • Hangs vs Hitches
  • and 40 more in the book

Data Persistence

data-persistence/ · 50 questions
  • UserDefaults
  • When to Use UserDefaults
  • Data Modeling for Mobile
  • SwiftData vs Core Data
  • SwiftData Basics
  • ModelContainer and ModelConfiguration
  • SwiftData Attributes
  • SwiftData Relationships
  • #Predicate and FetchDescriptor
  • Dynamic SwiftData Queries
  • SwiftData Index and Unique
  • ModelActor and SwiftData Concurrency
  • and 38 more in the book

Testing

testing/ · 54 questions
  • Unit Testing
  • Mocking and Stubbing
  • UI Testing
  • Testing Resizable Layouts and iPhone Duo
  • XCTest and Async
  • ViewModel Testing
  • Snapshot Testing
  • TDD
  • Accessibility Identifiers
  • Test Doubles: Mock, Stub, Spy, Fake
  • Code Coverage
  • Quick and Nimble
  • and 42 more in the book

System Design

system-design/ · 50 questions
  • Image Caching System
  • Scalable Chat App
  • Feed Loading (Instagram-style)
  • Offline Mode Design
  • Push Notification System
  • Pagination Design
  • Modular App Architecture
  • Analytics Implementation
  • Infinite Scroll Feed
  • Caching Layer Design
  • App State Restoration
  • Background Uploads
  • and 38 more in the book