Sobes.tech
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"