İOS Swift

Swift Dictionary

Koleksiyonlar

Swift programlama dili  iki farklı koleksiyon tipi olan diziler ve dictionary‘leri destekler.  Diziler aynı tipten oluşan verileri sıralı bir biçimde tutmak için kullanılır. Dictionary olarak ifade ettiğimiz yapı ise sıralı olmayan fakat key-value konsepti ile saklanan verileri tutmak için kullanılır. Bu yazımızda dictionary yapısını inceleyeceğiz.

Dictionary

nsdictionary

Dictionary, ayni tipde birden çok veriyi key-value şeklinde tutar. Her değere ait unique bir key bulunur. Dictionary yapısında dizilerde olduğu gibi bir sıralama bulunmaz.

Dictionary tanımlarken [key1 : value1, key2 : value2, key3 : value3, key4 : value4] yapısı kullanılır.

var people: [String: String] = ["teacher" : "Ahmet Can", "student" : "Mehmet Can", "director" : "Melek Can"]
// burada içerisinde 3 tane key-value çifti olan bir dictionary tanımladık.
  • Dictionary İçerisindeki Elemanların Sayısına Erişme
var people: [String: String] = ["teacher" : "Ahmet Can", "student" : "Mehmet Can", "director" : "Melek Can"]

println ("people dictionary'si içerisinde (people.count) eleman vardır.")
//konsola "people dictionary'si içerisinde 3 eleman vardır" yazdıracaktır.

 

  • Dictionary’nin Boş Olup Olmadığını Öğrenme
var people: [String: String] = ["teacher" : "Ahmet Can", "student" : "Mehmet Can", "director" : "Melek Can"]

if people.isEmpty {
   println("people dictionary'si boştur.")
} else {
   println("people dictionary'si doludur.")
}

//konsola "people dictionary'si doludur." yazdıracaktır.

  • Dictionary’e Yeni Eleman Ekleme
var team: [String: String] = ["goalkeeper" : "Muslera", "defance" : "Ramos", "middfielder" : "Zidane"]
//team dictionary'sinde 3 eleman var

team["striker"] = "Ronaldo"
//team dictionary'sinde 4 eleman oldu.

team["striker"] = "Messi"
//team dictionary'sinde hala 4 eleman var, fakat "striker" key'inin değeri değişti.
  • updateValue(forKey:) Metodu

Dictionary’deki güncellediğimiz verinin eski değerini alabiliriz.

var team: [String: String] = ["goalkeeper" : "Muslera", "defance" : "Ramos", "middfielder" : "Zidane"]

let oldValueforDefance = “team.updateValue("Ferdinand", forKey: "defance") {
    println("defans'ın eski değeri (oldValue).")
}
// konsola "defans'ın eski değeri Ramos” yazdıracaktır.


if let goalkeeperName = team["goalkeeper"] {
    println("kalecinin ismi :  (goalkeeperName).")
} else {
    println("kalecinin ismi dictinary içerisinde yok")
}
// konsola "kalecinin ismi Muslera" yazdıracaktır.
  •  Dictionary İçerisindeki Elemanları Döngü İçerisinde Döndürmek
var team: [String: String] = ["goalkeeper" : "Muslera", "defance" : "Ramos", "middfielder" : "Zidane"]


for (position, name) in team {
    println("(position): (name)")
}
// goalkeeper: Muslera
// defance: Ramos
// middfielder: Zidane


for position in team.keys {
    println("position: (position)")
}
// position: goalkeeper
// position: defance
// position: middfielder
 

for fName in team.values {
    println("name: (fName)")
}
// name: Muslera
// name: Ramos
// name: Zidane
  • Dictionary İçerisindeki Elemanları Diziye Atamak
var team: [String: String] = ["goalkeeper" : "Muslera", "defance" : "Ramos", "middfielder" : "Zidane"]

let positions = [String](team.keys)
// positions dizisindeki elemanlar ["goalkeeper", "defance", "middfielder"]
 
let names = [String](team.values)
// names dizisindeki elemanlar ["Muslera", "Ramos", "Zidane"]
  • Boş Dictionary Oluşturma
var nums = [Int: String]()
// nums boş bir dictionary, key-value çiftinin tipi [Int: String]

nums[16] = "sixteen"
// nums 1 tane key-value çiftine sahip
nums = [:]
// nums  şu anda tekrar boş bir dictionary oldu, key-value çiftinin tipi [Int: String]

1 Yorum

Yorum Yap