Junior — Middle
Kaip nustatyti dviejų objektų lygybę jų nuorodų palyginimo kontekste?
sobes.tech AI
Atsakymas iš AI
Dviejų objektų nuorodų lygybė reiškia, kad abi kintamosios nurodo tą patį egzempliorių atmintyje. Swift'e nuorodų palyginimui naudojamas identiteto operatorius ===.
Pavyzdys:
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, abi nuorodos į tą patį objektą
print(personA === personC) // false, skirtingi objektai
Todėl, norint patikrinti, ar dvi kintamosios nurodo tą patį objektą, naudojamas ===, o ne ==, kuris dažniausiai tikrina turinio lygybę.