Идентичность === в Swift
В Swift оператор ===
используется для сравнения ссылочных типов на идентичность, то есть для проверки, указывают ли две ссылки на один и тот же объект в памяти. Этот оператор проверяет, являются ли два объекта одним и тем же экземпляром класса или разными.
Пример:
class MyClass {
var value: Int
init(value: Int) {
self.value = value
}
}
let object1 = MyClass(value: 10)
let object2 = object1 // Создаем ссылку на тот же объект
let object3 = MyClass(value: 10) // Создаем новый объект с тем же значением
print(object1 === object2) // true - object1 и object2 указывают на один и тот же объект
print(object1 === object3) // false - object1 и object3 указывают на разные объекты
В этом примере оператор ===
возвращает true
, потому что object1
и object2
указывают на один и тот же объект MyClass
. Однако object1
и object3
указывают на разные объекты, поэтому оператор ===
возвращает false
.
Этот оператор полезен при работе с классами и проверке их идентичности. Важно понимать, что для сравнения значений используется оператор ==
, а для сравнения ссылок на объекты - оператор ===
.