[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
메서드의 마지막 인자로 클로저가 전달되며, 네트워크 응답을 처리합니다.
결론
클로저는 스위프트에서 다양한 상황에서 유용하게 활용될 수 있습니다. 배열 처리부터 네트워킹까지 다양한 영역에서 클로저를 활용하면 코드를 간결하게 작성하고, 유연한 기능을 구현할 수 있습니다.