익명함수, Closure, Lamda
//: 내림차순 정렬
import UIKit
let value = [1,9,5,7,3,2]
/**
@ 1. 기본
*/
func order(s1: Int, s2:Int) -> Bool{
if s1 > s2 {
return true
} else{
return false
}
}
value.sort(order)
/**
@ 2. order를 closure로 바꾸기
*/
value.sort({(s1: Int, s2: Int) -> Bool in
if s1 > s2{
return true
}else {
return false
}
})
/**
@ 3. 한줄로 쓰기 if,else문 없애기
*/
value.sort({(s1: Int, s2:Int) -> Bool in return s1 > s2})
/**
@ 4. 반환타입 없애기
*/
value.sort({(s1: Int, s2:Int) in return s1 > s2})
/**
@ 5. 인자타입 없애기 , 타입 추론
*/
value.sort({s1, s2 in return s1 > s2})
/**
@ 6. 내부 상수
*/
value.sort({return $0 > $1})
/**
@ 7. 반환값 타입 추론
*/
value.sort({$0 > $1})
/**
@ 8. 연산자 함수
*/
value.sort( > )
'IOS > Swift' 카테고리의 다른 글
프로퍼티 (0) | 2016.05.28 |
---|---|
객체지향 프로그래밍, 구조체와 클래스 비교 (0) | 2016.05.28 |
함수의 반환 타입으로 함수 사용 (0) | 2016.05.07 |
인자값과 반환값 (0) | 2016.05.07 |
Swift 키보드 입력 (Swift Cin) (0) | 2016.05.07 |
댓글 로드 중…
트랙백을 확인할 수 있습니다
URL을 배껴둬서 트랙백을 보낼 수 있습니다