Structure Yapıları

Swift Programlama dilinde sınıf yapılarına çok benzer başka bir yapı daha bulunmaktadır. Bu yapılar struct anahtar kelimesi ile tanımlanan structure’ lardır.

Structure’ lar da sınıflar gibi tanımlanırlar. Yalnızca sınıflarda kullanılan class anahtar kelimesi yerine struct anahtar kelimesi kullanılır ve ardından structure için bir isim girilir. Sonrasında kod bloğu için küme parantezi açılır ve kapatılana kadar olan structure’ ın iç yapısını oluşturur.

struct StructureAdı {

// Özellik ve fonksiyonlar bu bölüme yazılır.

}

Structure’ lar kullanımları açısından da sınıflar ile benzerlik gösterirler. Örneğin sınıflar gibi türetilerek kullanılırlar. İçlerinde özellikler ve fonksiyonlar tanımlanabilir. İlk değer atamaları için init yapıcı fonksiyonu kullanılabilir.

Ancak bazı sınıf özellikleri structure yapılarında kullanılamazlar ki bunların en önemlisi kalıtımdır. Bu özellikleri itibari ile structure’ lar swift programlama dilinin sınıflardan bir numara küçük olan yapı taşıdır denilebilir.

struct Work {
    var location = ""
    var units = [String]()
    let lenght: Int
    
    func last() ->String{
        return units[units.count-1]
    }
}

Structure Tanımlanması Örneği

Structure tanımlaması yapıldıktan sonra, sınıflar gibi türetilerek yazılım içerisinde kullanılırlar. Ayrıca içersindeki özellik ve fonksiyonlara erişimde yine sınıflardaki gibi türetilen değişken üzerinden nokta operatörü aracılığı ile yapılmaktadır.

//Structure Tanımlanyor
struct ColorsToBeUsed{
    
    var black: String
    var green: String
    var yellow: String
    
    func defaultscolor() ->(black:String,green:String,yellow:String) {
        let c1 = "#000000"
        let c2 = "#000000"
        let c3 = "#000000"
        return (c1,c2,c3)
        
    }
}

//Structure Türetiliyor
var colors = ColorsToBeUsed(black: "#FFFFFF", green: "#FF0000", yellow: "#454545")

//Structer özelliklerine erişiliyor

let black = colors.black
let green = colors.green
let yellow = colors.yellow

//Structure fonksiyonlarına erişiliyor
let ReceivedColors = colors.defaultscolor()

Structure Yapısı Türetimi, Özellik ve Fonksiyonlarının Kullanımı