1. 탈출 클로저
함수의 인자로 전달된 클로저가 함수가 종료된 뒤 실행되는 것. 주로 비동기 작업이나 콜백 함수로 사용한다.
클로저 (Closures)
1. 클로저 일급 객체로서, 함수처럼 기능을 수행하는 블록. named closure(func 키워드를 사용하는 일반적인 함수), unnamed closure(익명함수) 두 가지 종류가 있음 다음과 같은 구조를 가진다. { (파라미터
jdeoks.tistory.com
기본적으로 클로저는 함수 내부 스코프 안에서만 사용이 가능한 비탈출 클로저로, 다음과 같은 특성을 가지고 있다.
2. 비탈출 클로저:
- 함수 내부에서 직접 실행하기 위해서만 사용
- 외부 변수/상수에 저장하거나 반환할 수 없음
3. @escaping
@escaping 어트리뷰트를 사용할 경우 다음과 같이 파라미터로 받은 클로저 반환이 가능하다
func makeIncrementer(incrementer: @escaping () -> Int) -> (() -> Int) {
return incrementer
}
// 트레일링 클로저
let incrementByTwo = makeIncrementer {
return 2
}
// 2 반환
let result = incrementByTwo()
print(result) // 출력: 2
'Swift' 카테고리의 다른 글
오류 처리 (0) | 2024.03.10 |
---|---|
[RxGesture] 컨테이너 뷰와 내부 요소의 제스처 구분하기 (0) | 2024.03.02 |
클로저 - 캡쳐 (0) | 2023.10.17 |
클로저 (Closures) (2) | 2023.10.17 |
일급 객체 (First-Class Object) (0) | 2023.10.16 |