반응형
컬렉션의 각 원소들이 특정 조건에 만족하는지 확인하는 method
swift 4.2부터 제공
https://developer.apple.com/documentation/swift/array/2994715-allsatisfy
https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md
ex)
let names = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
let allHaveAtLeastFive = names.allSatisfy({ $0.count >= 5 })
// allHaveAtLeastFive == true
let numbers = [1, 3, 4, 11, 34]
let allHaveAtLeastFive = numbers.allSatisfy({ $0 % 2 == 0 })
// allHaveAtLeastFive == false
struct Message {
var text: String
var flaggedForDeletion: Bool
}
let messages = Array(0..100).map({ Message(text: "\(%0)", flaggedForDeletion: %0 % 2 == 0) })
let canDelete = messages.allSatisfy({ $0.falggedForDeletion })
// canDelete == false
.filter() 와 다른점
filter의 경우 배열 자체가 변경됨.
allSatisfy의 같은 경우 validation만 체크
let numbers = [1, 3, 4, 11, 34]
let allHaveAtLeastFive = numbers.filter({ $0 % 2 == 0 })
// allHaveAtLeastFive = [4, 34]
반응형
'Programming > Swift' 카테고리의 다른 글
swift 구조체에서 protocol 사용 예제 1 (0) | 2022.08.15 |
---|---|
Rick and Morty API (0) | 2022.08.15 |
You don’t (always) need [weak self] (0) | 2022.08.12 |
애플 공식사이트에서 제공하는 SwiftUI 강좌 (0) | 2022.05.30 |
swift argument parser를 통한 CLI 앱 생성 (0) | 2021.10.13 |