[swift] 클로저 활용하기

클로저는 Swift에서 강력한 도구로, 함수나 메서드처럼 사용되거나 함수의 전달인자로 활용될 수 있습니다. 클로저는 코드 블록을 정의하고, 해당 블록을 나중에 실행하기 위해 저장할 수 있는 기능을 제공합니다.

이번 포스트에서는 클로저의 다양한 활용 방법에 대해 알아보겠습니다.

클로저를 활용한 정렬

클로저를 사용하면 정렬 메서드에 쉽게 전달할 수 있습니다.

let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]

let sortedNames = names.sorted { $0 < $1 }
print(sortedNames) // ["Alex", "Barry", "Chris", "Daniella", "Ewa"]

위 코드에서 sorted 메서드의 인자로 전달된 클로저는 두 개의 문자열을 비교하여 알파벳 순서대로 정렬합니다.

클로저를 이용한 매핑

map 함수를 활용하여 클로저를 사용하여 각 요소에 변환을 적용할 수 있습니다.

let numbers = [1, 2, 3, 4, 5]

let doubledNumbers = numbers.map { $0 * 2 }
print(doubledNumbers) // [2, 4, 6, 8, 10]

위 코드에서 map 함수의 클로저는 각 요소를 두 배로 변환하여 새로운 배열을 생성합니다.

클로저를 이용한 필터링

filter 함수를 사용하여 클로저를 활용하여 조건에 맞는 요소를 걸러낼 수 있습니다.

let scores = [85, 90, 45, 60, 75]

let passingScores = scores.filter { $0 >= 60 }
print(passingScores) // [85, 90, 60, 75]

위 코드에서 filter 함수의 클로저는 60 이상인 점수만을 걸러냅니다.

클로저를 활용하면 간단하면서도 강력한 기능을 구현할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 간결한 구문을 지원할 수 있습니다.

위에 제시한 예제들을 활용하여 클로저를 어떻게 사용하는지 살펴보았습니다. 이외에도 클로저는 Swift에서 많은 다른 용도로 활용될 수 있습니다. 클로저를 다양한 상황에서 적재적소에 활용하여 Swift 언어의 강력함을 더욱 극대화할 수 있습니다.

더 많은 클로저 활용 방법은 Swift 공식 문서를 참고할 수 있습니다.