• değeri stack (yığıt da diyorlar bu kavrama) alanında saklanan veri türleridir. çoğu ortamda ilkel tipler value type sayılmaktadır.
    örneğin
    int x = 0;
    dediğimizde "x" olarak adlandırılan ve önceden belirlenmiş büyüklükte rezerv edilen bellek bölgesine "0" değeri yazılmaktadır.

    bunun karşıtı "reference type"'dır.
  • verinin benzersiz kopyasını oluşturan tiplere denir. tam karşıtı ise referans tipi(reference type) olan verilerdir. örneğin;

    value type;
    struct kisi{
    var adi : string;
    var yas:ınt ;
    }

    let ahmet = kisi(adi:"ahmet",yas:20);
    let ahmet2 = ahmet;
    ahmet.yas = 21;

    print("ahmet \(ahmet.yas) - ahmet2 \(ahmet2.yas)");
    //ahmet 21 - ahmet2 20;

    yukarıda görüldüğü gibi oluşturulan kopya benzersiz bir kopyadır.

    eksileri;
    fonksiyona parametre olarak gönderildiğinde yeni bir kopya oluşur ve stack şişmeye başlar.
    kalıtımda problem çıkarmaktadır.
    artıları;
    class'lar ile karşılaştırıldığında thread içinde kesinlikle değer tipi(value type) kullanılmalıdır.
    benzersiz kopyalar oluşturduğu için memory leak sorunu yaşatmaz.
    stack üzerinde işlem gördüğü için çok hızlıdır.
hesabın var mı? giriş yap