Intro to iOS Development
  • Welcome
    • โ˜€๏ธIntroduction
    • ๐ŸฃGetting Started
    • ๐ŸฆCourse Staff
  • Logistics
    • ๐Ÿ“œSyllabus
    • ๐Ÿ—“๏ธSchedule
    • ๐Ÿ–Š๏ธGrading
    • ๐Ÿ™‹โ€โ™‚๏ธOffice Hours
    • Ed Discussion
  • Assignments
    • ๐ŸผA1: Swift Basics
    • ๐Ÿง‘A2: Profile
    • ๐Ÿ’ฌA3: ChatDev
    • ๐Ÿ‘จโ€๐ŸณA4: ChefOS
    • ๐Ÿ‘จโ€๐ŸณA4: ChefOS - SwiftUI
    • ๐Ÿ“ฑHack Challenge
      • ๐Ÿ†FA23 Winners
  • Lectures
    • 1๏ธโƒฃLogistics + Swift Basics
    • 2๏ธโƒฃUIKit + AutoLayout
  • 3๏ธโƒฃMVC + Navigation + Delegation
  • 4๏ธโƒฃUITableView
  • 5๏ธโƒฃUICollectionView
  • 6๏ธโƒฃNetworking I
  • 7๏ธโƒฃNetworking II
  • 8๏ธโƒฃSwiftUI I
  • 9๏ธโƒฃSwiftUI II
  • ๐Ÿ”ŸPersistence + SnapKit
  • ๐Ÿ””(11) Notifications
  • ๐ŸŒŽ(12) Deployment and MapKit
  • Chapters
    • ๐Ÿ–๏ธIntroduction
    • โ˜๏ธGit + GitHub
      • 1๏ธโƒฃGit Installation
      • 2๏ธโƒฃGit Basics
      • โž•Git+
    • ๐ŸฃSwift Basics
      • 1๏ธโƒฃVariables and Constants
      • 2๏ธโƒฃData Types
      • 3๏ธโƒฃOperators
      • 4๏ธโƒฃData Structures
      • 5๏ธโƒฃConditionals
      • 6๏ธโƒฃLoops
      • 7๏ธโƒฃFunctions
      • 8๏ธโƒฃClosures
      • 9๏ธโƒฃOptionals
    • ๐ŸงฐUIKit + AutoLayout
      • 1๏ธโƒฃClasses
      • 2๏ธโƒฃUIKit
      • 3๏ธโƒฃAutoLayout
    • ๐Ÿ“บMVC + Navigation + Delegation
      • 1๏ธโƒฃMVC
      • 2๏ธโƒฃNavigation
      • 3๏ธโƒฃDelegation
    • ๐Ÿ“UITableView
      • 1๏ธโƒฃWhat is a UITableView?
      • 2๏ธโƒฃUITableView Setup
    • ๐Ÿ“šUICollectionView
      • 1๏ธโƒฃWhat is a UICollectionView?
      • 2๏ธโƒฃUICollectionView Setup
    • ๐ŸŒNetworking I
      • 1๏ธโƒฃHTTP Requests
      • 2๏ธโƒฃCallbacks
      • 3๏ธโƒฃCodable
    • ๐ŸŒNetworking II
      • 1๏ธโƒฃAlamofire
      • 2๏ธโƒฃGET Requests
      • 3๏ธโƒฃPOST Requests
      • 4๏ธโƒฃURLSession
    • ๐Ÿ’พPersistence + SnapKit
      • 1๏ธโƒฃPersistence
      • 2๏ธโƒฃSnapKit
    • ๐Ÿ•Š๏ธSwiftUI
      • 1๏ธโƒฃIntroduction to SwiftUI
      • 2๏ธโƒฃGetting Started with SwiftUI
      • 3๏ธโƒฃViews + Modifiers
      • 4๏ธโƒฃLayouts
      • 5๏ธโƒฃNavigation
      • 6๏ธโƒฃProperty Wrappers
    • ๐ŸŽ›๏ธWidgets
      • 1๏ธโƒฃIntroduction to Widgets
      • 2๏ธโƒฃSetting Up Widgets
      • 3๏ธโƒฃBuilding Widgets
      • 4๏ธโƒฃConfiguring Widgets
    • ๐ŸงฑProject Foundation
    • โœ…Testing
      • 1๏ธโƒฃUnit Testing
    • ๐Ÿ‘ฃDebugging
      • 1๏ธโƒฃOSLog
      • 2๏ธโƒฃCrashlytics
      • 3๏ธโƒฃAnalytics
    • โ˜๏ธCI/CD
      • 1๏ธโƒฃXcode Cloud
      • 2๏ธโƒฃAppStore Shipping
  • Guides
    • ๐Ÿ”จXcode Project Setup
    • ๐ŸŽจFigma
    • ๐Ÿ“ฌPostman
    • ๐ŸฅฅCocoaPods
    • ๐ŸงฐUIKit Handbook
    • ๐Ÿ“‘Tab Views
      • UITabBarController
      • TabView
  • Work in progress
    • ๐ŸงตConcurrency
    • 2๏ธโƒฃUI Testing
    • ๐Ÿ•Reactive Programming
    • ๐Ÿง Memory Management
      • ๐Ÿ”ARC
    • ๐Ÿ“ฆStorage
    • ๐Ÿ“ฃNotifications
  • Archived
    • SP24
      • Logistics
        • ๐Ÿ“œSyllabus
        • ๐Ÿ—“๏ธSchedule
        • ๐Ÿ–Š๏ธGrading
        • ๐Ÿ™‹โ€โ™‚๏ธOffice Hours
      • Assignments
        • ๐ŸผA1: Swift Basics
        • ๐Ÿง‘A2: Profile
        • ๐Ÿ’ฌA3: ChatDev
        • ๐Ÿ‘จโ€๐ŸณA4: ChefOS
        • ๐Ÿ“ฑHack Challenge
          • ๐Ÿ†FA23 Winners
      • Lecture
        • 0๏ธโƒฃCourse Intro + Logistics + Git Setup
        • 1๏ธโƒฃSwift Basics
        • 2๏ธโƒฃUIKit + AutoLayout
        • 3๏ธโƒฃMVC + Navigation + Delegation
        • 4๏ธโƒฃUITableView
        • 5๏ธโƒฃUICollectionView
        • 6๏ธโƒฃNetworking I
        • 7๏ธโƒฃNetworking II
        • 8๏ธโƒฃPersistence + SnapKit
        • ๐Ÿ”ŸSwiftUI
        • ๐Ÿ”ขTabViews
    • FA23
      • Logistics
        • ๐ŸฃGetting Started
        • ๐ŸฆCourse Staff
        • ๐Ÿ“œSyllabus
        • ๐Ÿ—“๏ธSchedule
        • ๐Ÿ–Š๏ธGrading
        • ๐Ÿ™‹โ€โ™‚๏ธOffice Hours
      • Assignments
        • ๐ŸผA1: Swift Basics
        • ๐Ÿง‘A2: Profile
        • ๐Ÿ’ฌA3: ChatDev
        • ๐Ÿ‘จโ€๐ŸณA4: ChefOS
        • ๐Ÿ“ฑHack Challenge
          • ๐Ÿ†FA23 Winners
      • Lectures
        • 0๏ธโƒฃCourse Intro + Logistics
        • 1๏ธโƒฃSwift Basics
        • 2๏ธโƒฃUIKit + AutoLayout
        • 3๏ธโƒฃMVC + Navigation + Delegation
        • 4๏ธโƒฃUITableView
        • 5๏ธโƒฃUICollectionView
        • 6๏ธโƒฃNetworking I
        • 7๏ธโƒฃNetworking II
        • 8๏ธโƒฃPersistence + SnapKit
        • ๐ŸŽ›๏ธWidgets
          • ๐Ÿ‘ผIntroduction to Widgets
          • โš’๏ธSetting Up Widgets
          • ๐ŸงฑBuilding Widgets
          • ๐Ÿ‘จโ€๐Ÿ’ปConfiguring Widgets
        • ๐Ÿ”ŸSwiftUI
    • SP23
      • Logistics
        • Lecture Schedule
        • Syllabus
        • Grading
        • SP23 Office Hours
      • Chapters
        • 1. Intro to Swift & Xcode
          • Lecture Handout
          • Lecture Demo
          • ๐ŸผProject: Swift Basics
        • 2. UIKit and AutoLayout
          • Lecture Handout
          • Lecture Demo
          • ๐Ÿ›’Project: UIKit + AutoLayout
        • 3. Navigation, MVC, and Delegation
          • Lecture Handout
          • Lecture Demo
          • Project: Navigation + Delegation
        • 4. UITableView
          • Lecture Handout
          • Lecture Demo
          • Project: UITableView
        • 5. UICollectionView
          • Lecture Handout
          • Lecture Demo
          • Project: UICollectionView
        • 6. Networking I
          • Lecture Handout
          • Lecture Demo
          • Project: Persistence
        • 7. Networking II
          • Lecture Handout
          • Lecture Demo
            • Message Board
          • Project: Networking II
        • 8. Swift UI
        • 9. CocoaPods
          • ๐ŸซLecture Handout
          • ๐Ÿง‘โ€๐ŸณLecture Demo
      • Cheat Sheets
        • Setting Up a New Xcode Project
        • Submitting Your Projects
        • Setting Up CocoaPods
    • 2022
      • SwiftUI
    • 2021
      • Adding Flare
      • Project: UIView Animations (Optional - Extra Credit)
      • UIView Animations
      • Xcode Tips and Tricks
    • 2019
      • Firebase
      • Persistence: UserDefaults
  • Swift Guide (ARCHIVED)
    • About this Textbook
    • Documentation
    • Constants and Variables
      • Variable Properties
      • Lazy and Static Variables
    • Functions
    • Ranges
    • Arrays
      • Basic Array Operations
      • Iteration and Enumeration
      • Advanced Array Operations
    • Tuples
    • Conditions and While Loops
    • For Loops
    • Enums and Switches
      • Enums with Associated Values
      • Indirect Enums
    • Classes and Structs
    • Optionals
    • Dictionaries
      • Dictionary Implementation
    • Closures
    • Constraints
    • Generics
    • Protocols
      • Protocols With Associated Types
    • Casting
    • Errors
    • Networking
      • Result
    • Inout
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Work in progress

Concurrency

Spring 2024 | Vin Bui

Coming soon!

PreviousTabViewNextUI Testing

Last updated 1 year ago

Was this helpful?

๐Ÿงต