Sobes.tech
Junior — Middle

Μπορείς να απαριθμήσεις τους διάφορους τύπους αναφορών στη γλώσσα Swift;

sobes.tech AI

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

Στο Swift, οι τύποι αναφοράς είναι τύποι των οποίων τα αντικείμενα περνιούνται μέσω αναφοράς και όχι μέσω τιμής. Οι κύριοι τύποι αναφοράς στο Swift:

  • Κλάσεις (class) — ο κύριος τύπος αναφοράς. Τα αντικείμενα κλάσεων δημιουργούνται στον σωρό, και οι μεταβλητές αποθηκεύουν αναφορές σε αυτά.
  • Λειτουργίες (closures) — οι closures στο Swift είναι επίσης τύποι αναφοράς, καθώς μπορούν να αιχμαλωτίζουν και να αποθηκεύουν αναφορές σε εξωτερικές μεταβλητές.

Σε αντίθεση με τις κλάσεις, οι δομές (struct) και οι enum (enum) είναι τύποι τιμής.

Παράδειγμα κλάσης:

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

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Θα εμφανίσει "Пётр", επειδή το person1 και το person2 αναφέρονται στο ίδιο αντικείμενο