Sobes.tech
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ę.