Intro to iOS Development
CtrlK
  • Welcome
    • ☀️Introduction
    • 🐣Getting Started
  • Course Content
    • 📋Logistics
      • 📜Syllabus
      • 🗓️Schedule
      • 🖊️Grading
      • 🙋‍♂️Office Hours
    • 📓Lectures
      • 1️⃣Logistics + Swift Basics
    • ☺️Assignments
      • 🍼A1: Swift Basics
  • Resources
    • 📖Textbook
      • 🖐️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
      • 🌐Networking I
        • 1️⃣HTTP Requests
        • 2️⃣Callbacks
        • 3️⃣Codable
      • 🌍Networking II
        • 1️⃣Alamofire
        • 2️⃣GET Requests
        • 3️⃣POST Requests
        • 4️⃣URLSession
      • 📚UICollectionView
        • 1️⃣What is a UICollectionView?
        • 2️⃣UICollectionView Setup
      • 💾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
        • 2️⃣UI Testing
      • 👣Debugging
        • 1️⃣OSLog
        • 2️⃣Crashlytics
        • 3️⃣Analytics
      • ☁️CI/CD
        • 1️⃣Xcode Cloud
        • 2️⃣AppStore Shipping
      • 🚧Coming soon
        • 📣Notifications
        • 🧵Concurrency
        • 🕐Reactive Programming
        • 🧠Memory Management
          • 🔁ARC
        • 📦Storage
    • Tool Guides
      • 🔨Xcode Project Setup
      • 🎨Figma
      • 📬Postman
      • 🥥CocoaPods
      • 🧰UIKit Handbook
      • 📑Tab Views
        • UITabBarController
        • TabView
    • Swift Foundations
      • 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
    • Archived (past semesters)
      • SP25
        • Logistics
          • 📜Syllabus
          • 🗓️Schedule
          • 🖊️Grading
          • 🙋‍♂️Office Hours
        • Lecture
          • 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
        • Assignments
          • 🧑A2: Profile
          • 💬A3: ChatDev
          • 👨‍🍳A4: ChefOS
          • 👨‍🍳A4: ChefOS - SwiftUI
          • 📱Hack Challenge
            • 🏆FA23 Winners
      • 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
Powered by GitBook
On this page

Was this helpful?

  1. Resources
  2. Archived (past semesters)
  3. SP23
  4. Chapters
  5. 5. UICollectionView

Lecture Demo

Starter Code

539KB
collectionViewStarter.zip
archive

PreviousLecture HandoutNextProject: UICollectionView

Last updated 2 years ago

Was this helpful?