iOS/Swift

클로저 4편

밤새는 탐험가89 2024. 2. 10. 22:41

 

 

클로저의 경량 문법

 

클로저의 문법을 단순하게 쓸 수 있게 하는 문법

 

func runFuntion(closure: (Int, Int) -> Int) {
    closure(1,2)
}

 

 

위의 함수는 파라미터로 받은 클로저를 실행

클로저의 파라미터로 Int 타입의 1, 2를 전달 

 

 

위의 함수를 호출하려면?

아래와 같이 클로저를 완전체로 작성해야함 

 

 

runFuntion(closure: { (value1: Int, value2: Int) -> Int in 
    return value1 + value2
})

 

 

 

 

파라미터 타입과 리턴 타입 생략 가능 

 

위의 함수에서 파라미터 타입 (Int, Int) 와 리턴 타입 Int 생략 가능 

 

runFuntion(closure: { (value1, value2) in 
    return value1 + value2
})

 

 

 

 

파라미터 이름shortand Argument Names로 대체 

 

(파라미터 이름과 "in" 키워드 삭제)

 

runFuntion(closure: { 
    return $0 + $1
})

 

여기서 "shortand Argument Names" 은?

 

value1 → $0

value2 → $1

$와 index를 이용하여 파라미터에 순서대로 접근하는 방법

 

 

 

리턴만 남았을 때는 "return" 키워드 삭제 

 

runFuntion(closure: { 
    $0 + $1
})

 

★ 예를 들어 return 키워드만 있는게 아니라, print 도 쓰였다면?

생략 안됨 

 

 

 

함수의 마지막 파라미터가 클로저라면?

트레일링 클로저로  작성 

 

runFuntion() { 
    $0 + $1
}

 

 

 

여기서 더 나아가 함수의 호출 구문 "( )" 안에 아무것도 없다면? 

"( )" 생략가능 

 

 

runFuntion { 
    $0 + $1
}

 

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

클로저 6편  (1) 2024.02.17
클로저 5편  (1) 2024.02.13
클로저 3편  (0) 2024.02.10
클로저 2편  (2) 2024.02.08
클로저 1편  (0) 2024.02.06