Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

В iOS обектите обикновено се предават в програмите по следните начини:

  • По референция: обектите на класовете се предават по референция, тоест се предава указател към обекта в паметта. Промените в обекта в една част на програмата се отразяват навсякъде, където има референция към този обект.

  • По стойност: структурите и изброяванията в Swift се предават по стойност, тоест се копират при предаване.

  • Чрез делегати и затваряния: обектите могат да се предават чрез делегати (протоколи) или затваряния за обратни извиквания и прехвърляне на данни между компоненти.

Пример за предаване на обект по референция:

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) // Ще изведе "Ново име"