[swift] 클로저 사용 사례

클로저는 스위프트에서 흔히 사용되는 기능으로, 함수처럼 기능을 수행하면서 동시에 언제든지 전달하거나 저장할 수 있습니다. 클로저를 사용하면 코드를 간결하게 작성할 수 있고, 유연한 동작을 구현할 수 있습니다.

클로저 사용 예시

아래는 간단한 클로저 사용 예제입니다.

let numbers = [1, 2, 3, 4, 5]
let evenNumbers = numbers.filter { $0 % 2 == 0 }
print(evenNumbers) // Output: [2, 4]

위의 예제는 filter 메서드를 사용하여 배열에서 짝수를 필터링하는 클로저를 전달합니다. 짝수를 판별하는 조건은 클로저 내부에서 정의되며, 이것은 코드를 간결하게 만들어줍니다.

네트워킹에서의 클로저 활용

클로저는 네트워킹 코드에서도 자주 사용됩니다. 아래는 URLSession을 사용하여 네트워크 요청을 하는 예시입니다.

let url = URL(string: "https://api.example.com/data")!

let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
    if error != nil {
        print(error!.localizedDescription)
        return
    }

    // 데이터 처리 로직
}

task.resume()

위의 코드에서 dataTask 메서드의 마지막 인자로 클로저가 전달되며, 네트워크 응답을 처리합니다.

결론

클로저는 스위프트에서 다양한 상황에서 유용하게 활용될 수 있습니다. 배열 처리부터 네트워킹까지 다양한 영역에서 클로저를 활용하면 코드를 간결하게 작성하고, 유연한 기능을 구현할 수 있습니다.

참고 자료