Swift의 @escaping 클로저

by leeuu

Escaping 클로저

Escaping 클로저는 클로저가 함수의 인자로 전달됐을 때, 함수의 실행이 종료된 후 실행되는 클로저 이다.

즉 인자로 전달된 클로저가 함수의 밖의 변수에 저장되거나 함수가 종료된 뒤 실행되는 클로저를 escaping 클로저 라고 합니다.


Non-Escaping 클로저

Non-Escaping 클로저는 이와 반대로 함수의 실행이 종료되기 전에 실행되는 클로저 입니다.

스크린샷 2024-01-02 오후 6.52.28.png



Escaping 클로저

이 클로저의 실행되는 순서를 살펴보자

1. 클로저가 closureFunc() 함수의 closure 인자로 전달됨

2.클로저 closure 이 현재 property 변수에 저장됨

3. 함수가 종료됨

4.클로저 closure 은 아직 실행되지 않음

스크린샷 2024-01-02 오후 6.52.59.png




참고자료

https://velog.io/@parkgyurim/Swift-escaping-closure

https://jusung.github.io/Escaping-Closure/


keyword
매거진의 이전글Swift 열거형에 대하여