Completion
Completion, CompletionHandling, CompletionBlock로 된 파라미터 이름을 iOS를 하면 많이 접합니다.
이러한 파라미터 들은 Closure를 파라미터로 받으며 함수가 반한된 후 (끝나고) Closure를 실행 시킵니다.
Closure Escaping
추가적으로 Completion을 쓸 때 Escaping을 쓰기도 합니다.
Closure 타입 앞에 @escaping 이라고 적으면 됩니다.
함수가 반환된 후 실행되는 Closure. 함수의 Scope를 벗어나 외부에서 사용 가능합니다.
(ex: 함수 내부에서 만들어진 Closure를 함수 외부에 따로 만든 배열에 넣고 추후 함수 외부에서 배열을 사용해서 함수 내부에서 만든 Closure를 사용 가능.)
+ Closure에 capture된 값은 나가서도 쓸 수 있습니다.
그러기 때문에 함수 외부의 Scope로 빼낼 때도 사용 합니다. 탈출이라는게 Scope외부로 간다고 생각하면 쉽습니다.
'Swift' 카테고리의 다른 글
[Swift] compactMap, flatMap (0) | 2021.04.06 |
---|---|
[Swift] struct, class - remind (0) | 2021.03.28 |
[Swift] First Class Type (0) | 2021.03.25 |
[Swift] Where, Switch, Binding (0) | 2021.03.24 |
[Swift] 정규식 (규식이) (0) | 2021.03.21 |