티스토리 뷰
$0, $1
단축 인자 이름은, 클로저의 매개 변수 순서대로 $0, $1 ... 이렇게 간다!!
result = calculate(a:10, b:10){
$0 + $1
}
(심지어 return도 안써줘도 된다... 자동으로 알아...)
result = calculate(a:10, b:10, method: { ( left:Int, right:Int ) -> Int in
return left + right
} )
일반적인 클로저 폼⭐️⭐️
난 처음에 in이 뭔지 몰라서 꽤 헤맸는데, 허무하게도 그냥 키워드였다고 한다. ㅜㅠ
클로저에는 여러가지 것들이 더 있는데, 대표적으로 후행 클로저, 반환타입 생략, 단축 인자이름, 암시적 반환 표현 등이 있다.
후행 클로저는 진짜 이상하다 (사실 왜 만들었는지 모르겠음 ;;)
클로저가 마지막 전달 인자이면, 마지막 매개변수 이름을 생략하고 함수 소괄호 외부에 클로저를 구현하게 해 준다.
result = calculate(a: 10, b: 10, method : { (left : Int, right: Int) -> Int in
return a+b
})
옛날에 이렇게 썼던 코드를,
result = calculate(a: 10, b: 10){ (left : Int, right: Int) -> Int in
return a+b
}
이렇게 쓰게 해준다는 것이다...! ㄷㄷ
단축 인자이름도 개신기하다.
사실 a+b할거면 left랑 right 만들 필요 없잖아? 하면서,
'macOS, iOS' 카테고리의 다른 글
becomeFirstResponder() (0) | 2019.07.04 |
---|---|
swift의 정규 표현식 (0) | 2019.07.04 |
RxSwift Playground에서 써보기 (0) | 2019.07.04 |
image 크기 바꾸기 - scaling, positioning, redrawing (0) | 2019.07.03 |
[iOS] Alamofire 기-초 (0) | 2019.06.26 |