Идентичность === в 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.

Этот оператор полезен при работе с классами и проверке их идентичности. Важно понимать, что для сравнения значений используется оператор ==, а для сравнения ссылок на объекты – оператор ===.