Swift - Diziler

Swift 4 dizileri, aynı türden sıralı değer listelerini depolamak için kullanılır. Swift 4, yanlışlıkla bile olsa bir diziye yanlış bir tür girmenize izin vermeyen katı bir kontrol koyar.

Oluşturulan bir diziyi bir değişkene atarsanız, her zaman değiştirilebilir, yani öğelerini ekleyerek, çıkararak veya değiştirerek onu değiştirebilirsiniz; ancak bir sabite bir dizi atarsanız, bu dizi değişmezdir ve boyutu ve içeriği değiştirilemez.

Diziler Oluşturma

Aşağıdaki başlatıcı sözdizimini kullanarak belirli bir türde boş bir dizi oluşturabilirsiniz -

var someArray = [SomeType]()

Belirli bir a * boyutunda bir dizi oluşturmak ve onu bir değerle başlatmak için kullanılan sözdizimi:

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

Boş bir dizi oluşturmak için aşağıdaki ifadeyi kullanabilirsiniz. Int 3 öğeli ve başlangıç ​​değeri sıfır olan tür -

var someInts = [Int](count: 3, repeatedValue: 0)

Aşağıda, üç öğeden oluşan bir dizi oluşturmak ve bu diziye üç değer atamak için bir örnek daha verilmiştir -

var someInts:[Int] = [10, 20, 30]

Dizilere Erişim

Kullanarak bir diziden bir değer alabilirsiniz. subscript sözdizimi, almak istediğiniz değerin dizinini köşeli parantez içinde dizinin adından hemen sonra aşağıdaki gibi iletin -

var someVar = someArray[index]

Burada index0'dan başlar, bu da ilk elemana indeks kullanılarak 0 olarak erişilebileceği, ikinci elemana 1 olarak indeks kullanılarak erişilebileceği anlamına gelir. Aşağıdaki örnek, dizilerin nasıl oluşturulacağını, başlatılacağını ve bunlara nasıl erişileceğini gösterir -

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]
print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Value of first element is 10
Value of second element is 10
Value of third element is 10

Dizileri Değiştirme

Kullanabilirsiniz append()bir dizinin sonuna yeni bir öğe eklemek için yöntem veya toplama atama operatörü (+ =). Aşağıdaki örneğe bir göz atın. Burada, başlangıçta boş bir dizi oluşturuyoruz ve ardından aynı diziye yeni öğeler ekliyoruz -

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Value of first element is 20
Value of second element is 30
Value of third element is 40

Aşağıdaki örnekte gösterildiği gibi, belirli bir dizine yeni bir değer atayarak bir Dizinin mevcut bir öğesini değiştirebilirsiniz -

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// Modify last element
someInts[2] = 50

var someVar = someInts[0]

print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Value of first element is 20
Value of second element is 30
Value of third element is 50

Bir Dizi Üzerinde Yineleme

Kullanabilirsiniz for-in aşağıdaki örnekte gösterildiği gibi bir dizideki tüm değerler kümesini yinelemek için döngü -

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for item in someStrs {
   print(item)
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Apple
Amazon
Google

Kullanabilirsiniz enumerate() Aşağıdaki örnekte aşağıda gösterildiği gibi değeriyle birlikte bir öğenin dizinini döndüren işlev -

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]

for (index, item) in someStrs.enumerated() {
   print("Value at index = \(index) is \(item)")
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Value at index = 0 is Apple
Value at index = 1 is Amazon
Value at index = 2 is Google

İki Dizi Ekleme

Aynı türden iki dizi eklemek için toplama işlecini (+) kullanabilirsiniz; bu, iki diziden aşağıdaki gibi değerlerin bir kombinasyonuyla yeni bir dizi verir -

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB
for item in intsC {
   print(item)
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

2
2
1
1
1

Count özelliği

Salt okunur kullanabilirsiniz count aşağıda gösterilen bir dizideki öğe sayısını bulmak için bir dizinin özelliği -

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("Total items in intsA = \(intsA.count)")
print("Total items in intsB = \(intsB.count)")
print("Total items in intsC = \(intsC.count)")

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Total items in intsA = 2
Total items in intsB = 3
Total items in intsC = 5

Boş Mülkiyet

Salt okunur kullanabilirsiniz empty aşağıda gösterildiği gibi bir dizinin boş olup olmadığını bulmak için bir dizinin özelliği -

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true