Practice using the composite pattern in “Defeat Your To-do List”, a to-do list creator app.
This is a companion discussion topic for the original entry at https://www.kodeco.com/1941458-advanced-ios-design-patterns/lessons/8
Practice using the composite pattern in “Defeat Your To-do List”, a to-do list creator app.
For those who are curious, as of iOS 8.0, array also implements allSatisfy which is a more efficient way to ensure that every element of the array returns true than reduce.
Reduce will go through every element of the arrays while allSatisfy will stop as soon as it hits the first false value. You can test it in the playground:
var elements: [Bool] = [true, true, true, false, true, true, true]
print("Testing allSatisfy:")
elements.allSatisfy {
print("Testing element: \($0)")
return $0 == true
}
print("Testing reduce:")
elements.reduce(true) { result, currentObject in
print("Testing element: \(currentObject)")
return result && currentObject
}