Sobes.tech
Junior — Middle

Какими способами осуществляется передача объектов в программе?

sobes.tech AI

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

Στο iOS, τα αντικείμενα συνήθως μεταδίδονται στα προγράμματα με τους εξής τρόπους:

  • Μέσω αναφοράς: τα αντικείμενα κλάσεων μεταδίδονται μέσω αναφοράς, δηλαδή περνάει ένας δείκτης στο αντικείμενο στη μνήμη. Οι αλλαγές στο αντικείμενο σε ένα μέρος του προγράμματος αντικατοπτρίζονται παντού όπου υπάρχει αναφορά σε αυτό το αντικείμενο.

  • Μέσω τιμής: οι δομές και οι enum στο Swift μεταδίδονται μέσω τιμής, δηλαδή αντιγράφονται κατά τη μεταβίβαση.

  • Μέσω delegate και closures: τα αντικείμενα μπορούν να μεταδοθούν μέσω delegate (πρωτόκολλα) ή closures για επιστροφές κλήσεων και μεταφορά δεδομένων μεταξύ συστατικών.

Παράδειγμα μεταφοράς αντικειμένου μέσω αναφοράς:

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

func changeName(person: Person) {
    person.name = "Νέο όνομα"
}

let p = Person(name: "Ιβάν")
changeName(person: p)
print(p.name) // Θα εμφανίσει "Νέο όνομα"