Sobes.tech
Junior

რა არის მიმთითებელი ტიპები?

sobes.tech AI

პასუხი AI-სგან

Референс түрлөрү (Reference Types) — бул маалымат түрлөрү, аларды белгилөө же функцияга өткөрүү учурунда, объекттин эсинде жайгашкан үлгүсүнө шилтеме өткөрүп беришет, өзү эмес.

Негизги өзгөчөлүктөрү:

  • Бир нече өзгөрмө бир эле объекттин үлгүсүнө шилтеме кылышы мүмкүн.
  • Бир шилтеме аркылуу объекттин абалын өзгөртүү, башка шилтемелерде да көрүнөт.
  • Референс түрлөрү менен иштөө, heap (купа) ичиндеги объекттерге көрсөткүчтөр аркылуу жүргүзүлөт.

Swiftтеги референс түрлөрүнүн мисалдары:

  • Класстар (class)
  • Функциялар (func)
  • Жабдыктар ({...})

Маанилүү айырмачылыктар:

Өзгөчөлүк Референс түрү (Reference Type) Маани түрү (Value Type)
Ненин өткөрүлүшү Шилтеме (жаддагы дарек) Көчүрмө (копия)
Сактоо жери Heap Stack
Көчүрүү Шилтеме көчүрүлөт Маани көчүрүлөт
Өзгөртүү Оригинал объектке таасир этет Көчөгө таасир этет
class MyClass {
    var value: Int

    init(value: Int) {
        self.value = value
    }
}

var object1 = MyClass(value: 10) // Класс үлгүсүн түзүү
var object2 = object1          // object2 азыр ошол эле үлгүгө шилтеме кылат

print(object1.value) // Чыгуу: 10
print(object2.value) // Чыгуу: 10

object2.value = 20 // object2 аркылуу маанини өзгөртүү

print(object1.value) // Чыгуу: 20 (өзгөртүү object2 аркылуу object1ге да таасир этти)
print(object2.value) // Чыгуу: 20

Swiftте референс түрлөрү үчүн эс тутумду башкаруу Automatic Reference Counting (ARC) аркылуу жүргүзүлөт.