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