Sobes.tech
Junior — Middle

Оё шумо метавонед намудҳои гуногуни истинодҳоро дар забони Swift номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Дар Swift, намудҳои истинод — ин намудҳое мебошанд, ки объектҳои онҳо тавассути истинод гузаронида мешаванд, на тавассути арзиш. Намудҳои асосии истинод дар Swift:

  • Классҳо (class) — намудҳои асосии истинод. Объектҳои класс дар кӯда ҷойгир мешаванд ва тағирёбандаҳо ба онҳо истинод мекунанд.
  • Функсияҳо (closures) — дар Swift, closures низ намудҳои истинод мебошанд, зеро онҳо метавонанд истинодҳоро ба тағирёбандаҳои беруна захира кунанд ва нигоҳ доранд.

Барои фарқ кардан аз классҳо, структураҳо (struct) ва enumeration (enum) намудҳои арзиш мебошанд.

Масали класс:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Натиҷа "Пётр" мебарояд, зеро person1 ва person2 ба як объект ишора мекунанд