Swift · 7/8
Diziler: birden çok bilgiyi saklamak
Birden çok değeri sıralı koleksiyonda tutup ekleme, okuma ve sayma yapmak.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Diziler: birden çok bilgiyi saklamak
Birden çok değeri sıralı koleksiyonda tutup ekleme, okuma ve sayma yapmak.
Kavramı kur
Birden fazla ismi isim1, isim2, isim3 gibi ayrı değişkenlerde tutmak yerine sıralı bir koleksiyonda gruplarız. Sıra, bir öğenin konumunu belirtir; değerinin kendisi değildir. İlk öğe çoğu temel yapıda 0 konumundan okunur. İkinci ve üçüncü öğeyi elle işaretleyerek bu sıfırdan başlayan indisi görünür hâle getir.
Neden böyle çalışıyor?
Koleksiyonun uzunluğu ile son geçerli indis farklıdır. Üç öğe varsa uzunluk 3, son indis 2 olur. Bir öğeyi ekledikten veya sildikten sonra bu değerler değişebilir. Sabit bir son indis varsaymak yerine uzunluğu ve dolaşma yöntemini kullanmayı öğren.
Çalışma sırası
Veri yapısına hangi işi yaptığını açıkça ayır: sona eklemek, var olan öğeyi değiştirmek ve yeni bir koleksiyon üretmek aynı işlem değildir. Çıktıyı kontrol ederken hem içerik hem sıra hem de öğe sayısını incele. Küçük örnekte bunları doğru kurmak daha sonra dosya ve API verilerini işlemenin temelidir.
İkinci örnek · 1
Başlangıç koleksiyonu iki isim içerir. Kodun tamamı yazılı derste bulunur.
Kod
var isimler = ["Elif", "Mert"]
isimler.append("Deniz")
print(isimler[0])
print(isimler[2])
print(isimler.count)Beklenen sonucu oku
Öğe sayısı 3 olur; son geçerli indis 2 olarak kalır.
Beklenen çıktı: Elif Deniz 3
Bir değeri sen değiştir
Başlangıçtaki isimleri değiştir; sıra ve indisleri kâğıda yaz. Bir isim daha ekle; sayının 4 olduğunu doğrula.
Hata nereden gelir?
Uzunluğu son indis gibi kullanmak sınır dışına erişir; üç öğede son konum 2’dir.
Kendi çözümünü kur
Koleksiyonu döngüyle dolaşıp bütün isimleri yazdır; elle indis tekrarlamak yerine uygun dolaşma yapısını seç. Koleksiyonun her değişiminden sonra içerik listesini ve uzunluğu ayrı ayrı not et.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
Kod
var isimler = ["Elif", "Mert"]
isimler.append("Ece")
print(isimler[0])
print(isimler[2])
print(isimler.count)Kendini kontrol et
Üç öğeli sıfır tabanlı bir koleksiyonda son geçerli indis nedir? Yanıt: 2; uzunluk 3 olması 3 indisinin var olduğu anlamına gelmez.
Beklenen çıktı: Elif Ece 3
Konu anlatımı
Birden fazla ismi isim1, isim2, isim3 gibi ayrı değişkenlerde tutmak yerine sıralı bir koleksiyonda gruplarız. Sıra, bir öğenin konumunu belirtir; değerinin kendisi değildir. İlk öğe çoğu temel yapıda 0 konumundan okunur. İkinci ve üçüncü öğeyi elle işaretleyerek bu sıfırdan başlayan indisi görünür hâle getir.
Koleksiyonun uzunluğu ile son geçerli indis farklıdır. Üç öğe varsa uzunluk 3, son indis 2 olur. Bir öğeyi ekledikten veya sildikten sonra bu değerler değişebilir. Sabit bir son indis varsaymak yerine uzunluğu ve dolaşma yöntemini kullanmayı öğren.
Veri yapısına hangi işi yaptığını açıkça ayır: sona eklemek, var olan öğeyi değiştirmek ve yeni bir koleksiyon üretmek aynı işlem değildir. Çıktıyı kontrol ederken hem içerik hem sıra hem de öğe sayısını incele. Küçük örnekte bunları doğru kurmak daha sonra dosya ve API verilerini işlemenin temelidir.
Swift Array aynı öğe türünden sıralı verileri taşır. var içerik değiştirmeye izin verir; let ile tanımlanan bir diziyi append ile değiştiremezsin. Geçersiz indis çalışma zamanı hatasıdır. Okumadan önce indis aralığını veya first gibi daha güvenli erişimleri düşün.
İlk örneği oku ve dene
Diziler: birden çok bilgiyi saklamak
Dizi (array), birden fazla değeri sırayla tutar. Köşeli parantez [ ] ile oluşturulur. append sona eleman ekler, count eleman sayısını verir. İlk elemanın sıra numarası 0'dır.
var alisveris = ["ekmek", "süt", "yumurta"]
alisveris.append("peynir")
print(alisveris[0])
print("\(alisveris.count) ürün var")
▶ Sonuç
ekmek 4 ürün var
Adım adım neden böyle çalışıyor?
- Başlangıç koleksiyonu iki isim içerir.
- Sona ekleme üçüncü öğeyi oluşturur.
- 0 konumu Elif; 2 konumu Deniz değerini gösterir.
- Öğe sayısı 3 olur; son geçerli indis 2 olarak kalır.
İkinci çözümlü örnek
Birden çok değeri sıralı koleksiyonda tutup ekleme, okuma ve sayma yapmak.
var isimler = ["Elif", "Mert"]
isimler.append("Deniz")
print(isimler[0])
print(isimler[2])
print(isimler.count)
▶ Sonuç
Elif Deniz 3
Kolaydan zora sen dene
- Başlangıçtaki isimleri değiştir; sıra ve indisleri kâğıda yaz.
- Bir isim daha ekle; sayının 4 olduğunu doğrula.
- Koleksiyonu döngüyle dolaşıp bütün isimleri yazdır; elle indis tekrarlamak yerine uygun dolaşma yapısını seç.
İpucunu aç
Koleksiyonun her değişiminden sonra içerik listesini ve uzunluğu ayrı ayrı not et.
Üç görevin açıklamalı çözümünü oku
- Yeni isimler aynı sırayla 0,1,2 konumlarında tutulur; değer değişmesi indislerin temel kuralını değiştirmez.
- Bir öğe daha eklenince uzunluk 4, son geçerli indis 3 olur. Eski indisleri körlemesine kopyalamadan koleksiyon durumunu tekrar çiz.
- Koleksiyonu doğrudan öğe öğe dolaş; her turda o ismi yazdır. Beklenen çıktı, eklediğin isimlerin koleksiyondaki sırasıdır.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
var isimler = ["Elif", "Mert"]
isimler.append("Ece")
print(isimler[0])
print(isimler[2])
print(isimler.count)
▶ Sonuç
Elif Ece 3
Yaygın hata ve çözümü
- Uzunluğu son indis gibi kullanmak sınır dışına erişir; üç öğede son konum 2’dir.
- Ekleme işleminin dönüşünü yeni koleksiyon sanma; kullanılan metodun sözleşmesini kontrol et.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
Üç öğeli sıfır tabanlı bir koleksiyonda son geçerli indis nedir?
Açıklamalı yanıt
2; uzunluk 3 olması 3 indisinin var olduğu anlamına gelmez.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.