Photo by Walling / Unsplash

Array: allSatisfy()

Swift Nov 14, 2022

allSatisfy,yapı olarakcontains fonksiyonunu benzemektedir. Fonksiyon sonuç değeri olarak Bool tipinde bir değer döndürür. Ancak en büyük farklılık ise dizi içerisindeki değerlerin tümünde aynı koşulu sağlaması ile true döndürülmektedir. Bu durum contains'den ayıran kısmıdır. Bir örnek vermek gerekirse:

Ögrencinin bir dönemdeki notlarından (0-100) oluşan bir dizimiz olsun.

let grades = [85, 74, 90, 64, 82]

50 puan üzerinde alınan notların dersi geçtiğini düşünelim. allSatisfy ile dönem derslerinde başarılı olup olmadığını gösterecektir.

let pass = grades.allSatisfy { grade -> Bool in
    return grade > 50
}

// true

Kısa versiyonu

let pass = grades.allSatisfy { $0 > 50 }

// true

Yine projelerimizde kullanılabilegimiz farklı bir örnek daha vermek gerekirse

Bir müzik uygulaması düşünelim ilk kez kullanan kullanıcılara, müzik tarzlarından en az 3 adet seçmesi isteniliyor gibi bir senaryo düşünelim.


let musicGenre = [classical, pop, rock, newage]

let allHaveAtLeastThree = musicGenre.allSatisfy({ $0.count >= 3 })

// true

Apple Developer Documentation

Tags

Furkan Ozoglu

iOS Developer & Geomatics Engineer