allSatisfy function in iOS Swift

Chanakya Hirpara
2 min readMay 30, 2023

The allSatisfy method is a useful higher-order function available in Swift that allows you to check if all elements in a sequence satisfy a certain condition. It provides a concise way to validate if a specific condition is true for every element in the sequence. In this post, we'll explore the allSatisfy method and provide a real-time example to showcase its usage in iOS Swift.

Understanding the allSatisfy Method

The allSatisfy method is defined on sequences in Swift and has the following signature:

func allSatisfy(_ predicate: (Element) throws -> Bool) rethrows -> Bool

The predicate is a closure that takes an element of the sequence as its parameter and returns a boolean value indicating whether the element satisfies a condition.

The allSatisfy method iterates over each element in the sequence and checks if the condition specified by the predicate is true for all elements. If all elements satisfy the condition, it returns true; otherwise, it returns false.

Real-time Example

Let’s consider a real-time example where we have a collection of students and we want to check if all students have passed the exam based on a passing grade threshold.

struct Student { 
let name: String
let grade: Int
}

let students = [
Student(name: "John", grade: 80),
Student(name: "Emily", grade: 95),
Student(name: "Michael", grade: 60),
Student(name: "Sophia", grade: 75)
]

let passingGradeThreshold = 70
let allStudentsPassed = students.allSatisfy { $0.grade >= passingGradeThreshold }

if allStudentsPassed {
print("All students passed the exam!")
} else {
print("Some students did not pass the exam.")
}

In this example, we have a Student struct with name and grade properties. We have an array of students with their respective grades. We want to check if all students have passed the exam, where the passing grade threshold is set to 70.

We use the allSatisfy method on the students array and provide a closure as the predicate. The closure checks if each student's grade is greater than or equal to the passing grade threshold. If the condition holds true for all students, we print the message "All students passed the exam!". Otherwise, we print "Some students did not pass the exam."

The allSatisfy method simplifies the process of checking if a condition is true for all elements in a sequence, providing a concise and readable way to perform such validations.

I hope this example helps you understand the allSatisfy method in iOS Swift and how it can be used to check conditions for all elements in a sequence!

If you liked this post please clap, share and follow for more.

--

--