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) // Θα εμφανίσει "Νέο όνομα"