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) такой проверки не существует, так как они копируются при присваивании.