πŸ’‘Monday | UIKit

Spring 2026

chevron-rightClasses Demo Codehashtag
class Student {
    // Properties
    var name: String
    var major: String
    var age: Int

    // Initializer
    init(name: String, major: String, age: Int) {
        self.name = name
        self.major = major
        self.age = age
    }
}

// Creating an instance of Student
let jay = Student(name: "Jay", major: "CS", age: 67)
// Access properties like below
jay.name
jay.major
jay.age

// NOTE: the super class of `EngineeringStudent` is `Student`
class EngineeringStudent: Student {
    // Inherits all properties and function from 'Student'
    // Define more properties
    var doesShower: Bool

    init(name:String, major:String, age: Int, doesShower: Bool) {
        self.doesShower = doesShower // Initalize property specific to this class
        super.init(name: name, major: major, age: age) // Call the super class's initializer
    }
}

// Creating an instance of EngineeringStudent
let asen = EngineeringStudent(name: "Asen", major: "CS", age: 22, doesShower: false)
asen.doesShower // This works fine since asen is an EngineeringStudent
jay.doesShower  // This DOESN'T work since jay is a Student. `doesShower` 
                //    is a property of EngineeringStudent but not Student

chevron-rightUIKit Follow-Alonghashtag
If you prefer to download the ZIP, go to Code > Download ZIP in the Github Repository website.

Using git in Terminal

1. Clone the Repository

git clone https://github.com/intro-to-ios/lec2-uikit

2. Checkout Branches

  • If you fall behind during demo

    • restore using "git restore ."

      • or stash using "git stash"

    • then checkout a completed code to start the next demo

## Completed UI Label Code
git checkout 1-uilabel
## Completed UIImageView Code
git checkout 2-uiimageview

Lecture Slides

Spring 2026 Lecture Video

Last updated

Was this helpful?