728x90
클로저
클로저(Closure)는 함수와 비슷하지만 이름이 없다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | let names: Array<String> = ["a", "c", "e", "f"] //함수 func backwards(s1: String, s2: String) -> Bool{ return s1 > s2 } var reversed = names.sorted(by: backwards) print(reversed) //클로저 var reversed2 = names.sorted(by: {(s1: String, s2: String) -> Bool in return s1 > s2}) print(reversed2) //클로저2 var reversed3 = names.sorted(by: {s1, s2 in s1 > s2}) print(reversed3) //클로저3 var reversed4 = names.sorted(by: {$0 > $1}) print(reversed4) | cs |
클로저의 기본형태는 {
(매개변수) -> 반환값 in
내용
}
으로 이루어져있다.
위에스크립트에서 본것처럼 {(s1: String, s2: String) -> Bool in return s1 > s2} 이부분이 클로저인것이다.
또 클로저2와 3처럼 더 간소화 시킬수있다.
내가 공부하면서 느낀 클로저는 약간 인스턴스? 함수? 같은 느낌이 들면서 또 델리게이트처럼 사용이 가능할것같다.
후에 틀린부분이나 잘못 이해된 부분이 있으면 수정 하도록 하겠다.
'언어 > Swift' 카테고리의 다른 글
[Swift]클래스(Class) (0) | 2019.01.30 |
---|---|
[Swift]함수 (0) | 2019.01.25 |
[Swift]컬렉션(Dictionary] (0) | 2019.01.23 |
[Swift]컬랙션(SET) (0) | 2019.01.23 |
[Swift]컬렉션(Array) (0) | 2019.01.21 |