Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Ҷавоб аз AI
Дар iOS, объектҳо одатан дар барномаҳо ба тариқи зерин интиқол дода мешаванд:
-
Ба воситаи истинод: объектҳои синфҳо ба воситаи истинод интиқол дода мешаванд, яъне нишондиҳанда ба объект дар хотира гузошта мешавад. Таҳрирҳо дар объект дар як қисми барнома дар ҳама ҷо, ки истинод ба он вуҷуд дорад, ба назар мерасанд.
-
Ба воситаи арзиш: структураҳо ва enumeration-ҳо дар Swift ба воситаи арзиш интиқол дода мешаванд, яъне дар вақти интиқол нусхабардорӣ мешаванд.
-
Тавассути делегатҳо ва closure-ҳо: объектҳо метавонанд тавассути делегатҳо (протоколҳо) ё closure-ҳо барои бозгашт ва интиқоли маълумот байни компонентҳо интиқол дода шаванд.
Масалан барои интиқоли объект тавассути истинод:
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) // Натиҷа "Номи нав" хоҳад буд