티스토리 뷰

macOS, iOS

[Swift] Closure

SweetDev 2019. 7. 4. 14:42

$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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함