Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Atbilde no AI
iOS parasti objekti tiek programās tiek nodoti šādi:
-
Pa saiti: klases objekti tiek nodoti pa saiti, tas ir, tiek nodots norādītājs uz objektu atmiņā. Izmaiņas objektā vienā programmas daļā tiek atspoguļotas visur, kur ir atsauce uz šo objektu.
-
Pa vērtību: Swift struktūras un enumerācijas tiek nodotas pa vērtību, tas ir, tiek kopētas, nododot.
-
Caur deleģātiem un aizvērumiem: objekti var tikt nodoti caur deleģātiem (protokoliem) vai aizvērumiem, lai veiktu atgriezenisko saiti un datu pārnesi starp komponentiem.
Piemērs, kā nodot objektu pa saiti:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Jauns vārds"
}
let p = Person(name: "Ivans")
changeName(person: p)
print(p.name) // Izvadīs "Jauns vārds"