ArraySlice Dizin Anlamı
Dilim dizinlerinin neden özgün konumları koruduğunu anlayın.
ArraySlice Dizin Anlamı, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Slice'lar Original Dizinleri Korur
Önemli bir şaşırtıcı nokta şudur: Bir ArraySlice, sıfırdan yeniden dizinlemez. Ana dizide sahip olduğu dizinlerin aynısını korur.
let arr = [10, 20, 30, 40, 50]
let slice = arr[2..<5]
print(slice.startIndex)
print(slice.endIndex)startIndex Her Zaman Sıfır Değildir
Bir slice'ın startIndex değeri, onu oluşturmak için kullanılan alt sınıra eşittir. arr[2..<5] için başlangıç dizini 2'dir.
let arr = [1, 2, 3, 4, 5, 6]
let slice = arr[3..<6]
print("start:", slice.startIndex)
print("first value:", slice[slice.startIndex])Bir Slice'a Alt İndis Uygulama
Dizinler korunduğu için slice'ın kendi dizinlerini kullanmalısınız. 2. dizinde başlayan bir slice üzerinde slice[0] erişimi çalışma zamanında çöker.
let arr = [100, 200, 300, 400]
let slice = arr[2..<4]
print(slice[2])
print(slice[3])startIndex'i Güvenle Kullanma
Slice'ın nereden başladığından bağımsız olarak ilk öğeyi almak için slice.first veya slice[slice.startIndex] kullanın.
let arr = [5, 6, 7, 8, 9]
let slice = arr[2..<5]
print(slice.first ?? -1)
print(slice[slice.startIndex])endIndex Son Öğeden Bir Sonradır
Dizilerde olduğu gibi endIndex, geçerli son öğeden bir sonraki konumu gösterir. endIndex üzerinde alt indis uygulamak geçersizdir.
let arr = [11, 22, 33, 44]
let slice = arr[1..<3]
print("endIndex:", slice.endIndex)
print("last valid:", slice[slice.endIndex - 1])Sayma ve Dizinleme
Bir slice'ın count değeri öğe sayısıdır ve endIndex değerinden farklı olabilir. count değerinin son dizine eşit olduğunu asla varsaymayın.
let arr = [0, 1, 2, 3, 4, 5]
let slice = arr[3..<6]
print("count:", slice.count)
print("startIndex:", slice.startIndex)Dizinler Özelliği
Bir slice'ın geçerli dizin aralığında güvenle yineleme yapmak için indices özelliğini kullanın.
let arr = [10, 20, 30, 40, 50]
let slice = arr[1..<4]
for i in slice.indices {
print(i, slice[i])
}Dizinleri Korumak Neden Önemlidir
Dizinleri korumak, ek kayıt tutmadan slice içindeki bir konumu original diziye eşlemenizi sağlar. Bulduğunuz dizin ana dizide de geçerlidir.
let arr = ["a", "b", "c", "d", "e"]
let slice = arr[2..<5]
if let idx = slice.firstIndex(of: "d") {
print("found at parent index:", idx)
print("parent has:", arr[idx])
}enumerate Sıfıra Döner
Sıfır tabanlı konumlar istiyorsanız enumerated() kullanın. Slice'ın startIndex değerinden bağımsız olarak 0'dan başlayan offset değerleri üretir.
let arr = [9, 8, 7, 6, 5]
let slice = arr[2..<5]
for (offset, value) in slice.enumerated() {
print(offset, value)
}Başlangıçtan Uzaklık
Bir dizinden sıfır tabanlı bir offset hesaplamak için distance(from:to:) kullanın.
let arr = [1, 2, 3, 4, 5]
let slice = arr[2..<5]
let idx = slice.startIndex + 1
let offset = slice.distance(from: slice.startIndex, to: idx)
print("offset:", offset, "value:", slice[idx])Yaygın Bir Hata
Slice'ların ana dizinleri koruduğunu unutmak, en yaygın Swift hatalarından biridir. Sabit kodlanmış bir 0 yerine her zaman first, enumerated() veya startIndex kullanmayı tercih edin.
let arr = [100, 200, 300, 400, 500]
let slice = arr[3..<5]
// Safe: use first, not slice[0]
print(slice.first ?? 0)Hızlı Kontrol
Slice dizinleri hakkında çıkarım yapın.
Özet
Bir ArraySlice, ana dizinin dizinlerini korur: startIndex değeri sıfır değil, alt sınırdır. Güvenli erişim için first, startIndex, indices veya enumerated() kullanın; sabit kodlanmış 0 kullanmayın.
let slice = [5, 6, 7, 8, 9][3..<5]
print(slice.startIndex, slice.first ?? -1)Sıkça Sorulan Sorular
“ArraySlice Dizin Anlamı” dersi ücretsiz mi?
Evet — “ArraySlice Dizin Anlamı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“ArraySlice Dizin Anlamı” dersinde ne öğreneceğim?
Dilim dizinlerinin neden özgün konumları koruduğunu anlayın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“ArraySlice Dizin Anlamı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Aralıklarla Dilim Oluşturma
- ArraySlice Dizin Anlamı
- Dilimleri Yeniden Dizilere Dönüştürme
- prefix, suffix ve dropFirst