Sobes.tech
Junior — Middle

Hogyan határozható meg két objektum egyenlősége a hivatkozások összehasonlításának kontextusában?

sobes.tech MI

Válasz az MI-től

Két objektum referencia szerinti egyenlősége azt jelenti, hogy mindkét változó ugyanarra a példányra mutat a memóriában. Swiftben a referenciák összehasonlítására az === identitás operátort használjuk.

Példa:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let personA = Person(name: "Alice")
let personB = personA
let personC = Person(name: "Alice")

print(personA === personB) // true, mindkettő ugyanarra az objektumra mutat
print(personA === personC) // false, külön objektumok

Ezért, hogy ellenőrizzük, két változó ugyanarra az objektumra mutat-e, az ===-t használjuk, nem pedig a ==-t, ami általában a tartalom egyezőségét ellenőrzi.