func addOne (n1: Int) -> Int {
return n1 + 1
}
위 처럼 Int가 들어오면, 그 Int에 1을 더한다
이게
클로저를 사용하면 { parentheses (괄호)를 맨 앞으로 옮기고, func와 fucntion name인 addOne을 지우면
{ (n1:Int) -> Int in retrun n1 + 1
}
이렇게 표현이 가능하고 다음과 같다
let array = [6,2,3,4,5,6]
이라는 배열이 있다고 생각해보자
원래 map이라는 함수를 사용하고 addOne함수를 부르면,
array.map(addOne)
바뀐것 :
array.map({ (n1: Int) -> Int in return n1 + 1 })
array.map({ (n1) in return n1 + 1 })
array.map({ (n1) in n1 + 1 })
array.map({$0 + 1})
array.map{$0 + 1}
마지막에 오는 func은 closure로 swift는 인식한다. 따라서 $0, $1, .. 가 parameter 매개변수로 사용됨
let array = [6,5,3,2,1,1]
let newArray = array.map{"\($0)"}
ex) self.parseJason()