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.