func add(first: Int, second: Int) {
let result = first + second
}
+ completionHandler parameter 추가하기
func add(first: Int, second: Int, completionHandler: (Int) -> Void) {
let result = first + second
completionHandler(result) // result 값을 전달하며 호출됨
}
// completionHandler 에 우리가 할 동작을 전달
// 우리가 호출하면서 전달한 클로져가 add 함수 내부에서 호출된다.
add(first: 1,
second: 2,
completionHandler: { number in
print("결과는 \(number)"입니다!)
})
+ closure parameter 이름 생략하기 ($0)
func add(first: Int, second: Int, completionHandler: (Int) -> Void) {
let result = first + second
completionHandler(result)
}
add(first: 1,
second: 2,
completionHandler: {
print("결과는 \($0)"입니다!)
})
+ trailing closure 이름 생략하기 ($0)
add(first: 1, second: 2) { number in
print("결과는 \(number)"입니다!)
}