Philographer

익명함수, 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을 배껴둬서 트랙백을 보낼 수 있습니다