Sobes.tech
Junior — Middle

Πώς ορίζουμε την ισότητα δύο αντικειμένων στο πλαίσιο της σύγκρισης των αναφορών τους;

sobes.tech AI

Απάντηση από AI

Η ισότητα δύο αντικειμένων βάσει αναφορών σημαίνει ότι και οι δύο μεταβλητές δείχνουν στην ίδια περίπτωση στη μνήμη. Στη Swift, για σύγκριση αναφορών, χρησιμοποιείται ο τελεστής ταυτότητας ===.

Παράδειγμα:

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, και οι δύο αναφορές στο ίδιο αντικείμενο
print(personA === personC) // false, διαφορετικά αντικείμενα

Έτσι, για να ελέγξετε αν δύο μεταβλητές δείχνουν στο ίδιο αντικείμενο, χρησιμοποιείτε ===, και όχι ==, που συνήθως ελέγχει την ισότητα περιεχομένου.