Sobes.tech
Back to questions
Junior — Middle
64

Каким образом можно определить, ссылаются ли два объекта одного типа на один и тот же экземпляр в памяти?

Answer from AI

sobes.tech AI

В iOS (Swift) для проверки, ссылаются ли два объекта одного класса на один и тот же экземпляр в памяти, используется оператор идентичности ===.

Он сравнивает ссылки на объекты, а не их содержимое. Если a === b возвращает true, значит a и b указывают на один и тот же объект.

Пример:

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

let person1 = Person(name: "Alice")
let person2 = person1
let person3 = Person(name: "Alice")

print(person1 === person2) // true, обе переменные ссылаются на один объект
print(person1 === person3) // false, разные объекты с одинаковыми данными

Для структур (value types) такой проверки не существует, так как они копируются при присваивании.