Sobes.tech
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) // Натиҷа "Номи нав" хоҳад буд