티스토리 뷰

IT/Swift

Swift Closure

미닉길 2019. 5. 10. 00:06
반응형

안녕하세요. 도미닉입니다.

 

오늘은 클로저에 대해서 알아보겠습니다.

 

클로저는 이름 없는 함수라고 할 수 있습니다.

 

이름 없는 함수가 굳이 왜 필요한가? 라고 의문을 가질 수 있습니다.

 

이러한 클로저는 매개변수와 리턴 타입, 고차함수, 변수 등에 자유롭게 사용할 수 있습니다.

 

클로저의 기본 타입은 아래와 같습니다. 

 

  1. { (parameters) -> return type in
  2. statements
  3. }

 

함수와 비교하자면 앞에 func 함수이름 부분이 빠진 것만 빼면 크게 다르지 않은 것을 알 수 있습니다.

 

아래 소스는 sorted 함수에 매개변수로 클로저를 사용했습니다.

 

  1. reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in
  2. return s1 > s2
  3. })

 위에 소스는 아래와 같이 한 줄로도 표현할 수 있습니다.

 

reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in return s1 > s2 } )

 

이러한 식으로 계속 축약해나아갈 수 있는데 Apple 에서는 이러한 축약형보다 전체를 다 쓰는 위에 방식을 더 선호합니다.

반응형

'IT > Swift' 카테고리의 다른 글

스위프트에서 포인터를 사용하는 방법 inout  (0) 2020.04.25
Swift 함수형 프로그래밍  (0) 2019.05.10
Swift Enum  (0) 2019.05.09
Swift Patterns and Pattern matching  (0) 2019.05.03
Swift Overriding and Overloading  (0) 2019.04.29
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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
31
글 보관함