Swift’te Diziler

Merhabalar Arkadaşlar, Swift programlama dilinde ve birçok dilde kullanılan önemli bir yapı olan dizilerden(arrays) bahsedeceğim. Hazırsanız haydi başlayalım.


Array, bir ad ve bir index ile aynı türden çok sayıda değişkeni tanımlamak için kullanılan bir yapı türüdür. Dizilerde elemanların türü aynı olmalıdır. Bir işi daha kısa sürede yapmamızı sağlar, kod kalabalığından bizleri önler. Tekrar tekrar aynı kodları yazmaktan bizleri korur. Tanımladığınız dizi içerisinde hem int hemde float tipinde değerler bulunamaz. Diziler bunu desteklememektedir. Aynı tipte birçok veri bandıran yapılar olan diziler Swift programlama dilinde sık sık karşınıza çıkmaktadır.


Swift programlama dilinde Array tanımlama aşağıdaki gibidir :

var degiskenAdi = [] // Değişkenin türüne göre farklı diziler tanımlanabilir.
Related image

Resimdeki örneği Swift dilinde kodlamaya başlayalım.

var marks = [80,60,70,85,75] // marks adında 5 elemanı olan bir dizi tanımlandı.
print(marks.count) // dizinin eleman sayısını verir.
print(marks.first!) // dizinin ilk elemanını verdi. ! işareti sonucun opsiyonel olmasını önledi.
print(marks[2]) // dizinin 2.indisinde bulunan değeri gösterdi.
marks.append(50) // append ekleme fonksiyonudur.
marks.remove(at: 2) // remove silme fonksiyonudur.
print(marks.last!) // dizinin son elemanını verir.
marks.sort() // dizinin elemanlarını kucukten buyuge dogru sıraladı. sort sıralama fonksiyonudur.
  • Dizimiz 5 elemanlıdır. Bir öğrencinin derslerden aldığı notları düşünerek int tipinde değerleri olan bir array tanımladık.
  • Diziye sırayla 80, 60, 70, 85, 75 değerleri atandı.
  • Dizilerde index değerleri her zaman 1 yerine 0 dan başlar. Örneğin 80 değerli notun index değeri 1 değil 0 dır.
  • count fonksiyonu dizimizin içerisinde kaç adet eleman var onu bizlere gösteriyor.
  • first fonksiyonu dizide bulunan ilk elemanı gösteriyor. ! işareti opsiyonel olmasını önledi. Kısaca opsiyonel : ya veri türü belli olan bir değere eşit olabilir ya da hiçbir şeye eşit olmaz.
  • marks[2] ekranda index değeri 2 olan notu bizlere gösterir.
  • append fonksiyonu diziye yeni bir eleman ekler. Diziye eklenen eleman en sona eklenir.
  • last fonksiyonu dizide bulunan son elemanı gösteriyor.
  • sort fonksiyonu ise dizideki elemanları küçükten büyüğe doğru sıralar.

Uygulamanın ekran çıktıları ise aşağıdaki gibidir :

5
80
70
50

Dizilerde Filtreleme İşlemi

Dizilerde filtre işlemini daha rahat anlayabilmeniz için örnek üzerinden anlatacağım. Öncelikle birthday adında birkaç doğum tarihinden oluşan bir array tanımlıyoruz.

var birthday = [1999,2002,2019,2010,1988] 

Filtremiz 2000’den büyük olan doğum tarihlerini bizlere göstersin. Bunun için filtre adında bir değişken tanımlayıp oluşturduğumuz diziyi filter{} fonksiyonuyla birlikte kullanarak istenilen sonuca ulaşabiliriz.

var filtre = birthday.filter{$0 > 2000}
print(filtre)

filtre dizinin elemanlarını tek tek kontrol edecek ve değerler 2000 den büyükse aşağıdaki sonuçları bizlere gösterecektir :

[2002, 2019, 2010]

Dizilerde Arama İşlemi

Dizideki elemanların sayısı artması ile istenilen elemanlara ulaşmakta zorlaşacağı için dizinin elemanlarını arama metodu ile rahat bir şekilde bulabiliriz.

Hep int tipinde diziler tanımladık bu sefer string tipinde dizi tanımlayalım. İstanbul’un ilçelerini içeren bir dizi tanımlıyoruz. Tanımladıktan sonra dizi içerisinde arama yapacağız.

var istanbulIlceleri = ["Avcılar","Beşiktaş","Eyüp","Kadıköy","Beykoz","Silivri"]
istanbulIlceleri.contains("Beşiktaş")
istanbulIlceleri.contains("Esenyurt")

contains () fonksiyonu dizide verilen değerde bir eleman varsa true değerini geriye gönderir.Eğer eleman diziye ait değilse geriye false gönderir.

Örneğimizde “Beşiktaş” ilçesi dizide bulunduğu için true değerini aldı. “Esenyurt” ilçesi ise dizide olmadığı için false değerini aldı.


Dizi Elemanlarını Ekranda Gösterme

Dizide bulunan tüm elemanları ekranda gösterebilmek için tek tek print() fonksiyonunu kullanmak yerine for döngüsü yardımıyla rahatlıkla bu olayı halledebiliriz. Döngülerle ilgili yakında bir blog yazısı yazacağım orada daha detaylı işleceğiz.

 Elemanlarımızı ayrı ayrı görebilmemiz için for döngüsünü kullanabiliriz.

2 şekilde ekranda bu elemanları gösterebiliriz.

for i in 0...5 {
    print(istanbulIlceleri[i])
}

Yukarıdaki gibi range olarak 0 ve 5 değerlerini verdiğimizde dizimizin bütün elemanlarını ayrı ayrı görebilmekteyiz. Biz bu range ‘i dizimizin 6 elemandan oluştuğunu bildiğimiz için verebildik eğer range değerini bilmiyorsak bir sonraki çözümü yapmalıyız.

for ilceler in istanbulIlceleri {
    print(ilceler)
}

ilceler dizimizin üzerinde gezineceğimiz için in anahtar kelimesinden sonra istanbulIlceleri yazdık daha sonra istanbulIlceleri adlı dizimizin her bir elemanına ilceler ismini verdik ve for döngümüz her döndüğünde ilceler değişkenimizi ekranda bastırıyoruz böylece bütün elemanlarımıza erişmiş oluyoruz. ilceler değişkenimiz ilk olarak istanbulIlceleri dizisinin 0. indeksinde bulunan değeri alacak ardından 1. indeksteki değeri alacaktır ve istanbulIlceleri dizisinin bütün elemanlarını bu şekilde bitene kadar işlemi tekrar edecektir.

Her iki döngüde aşağıdaki sonucu verecektir :

Avcılar
Beşiktaş
Eyüp
Kadıköy
Beykoz
Silivri

Evet arkadaşlar, array kullanımını öğrendik. Derste yapmış olduğumuz örnekleri aşağıdaki Github adresinden ulaşabilirsiniz :

Yazılım Cenneti – Swift Array

Bol kodlu günler dilerim 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir