iOS/Swift 문법

[Swift] D11, Closure 심화

Chafle 2022. 3. 8. 18:57
반응형
Funtion(Global)과 Closure의 차이점
  • Funtion

이름이 있다

func 키워드 필요하다

 

  • Closure

이름 없다.

func 키워드 필요가 없다.

 

Funtion과 Closure의 공통점
  • 인자 받을 수 있다
  • 값 리턴할 수 있다.
  • 변수로 할당할 수 있다
  • First ClassType이다.

 

 

First classType이란?

변수에 할당할 수 있습니다.

인자로 받을 수 있습니다.

리턴 할 수 있습니다.

Closure가 실무에서 언제 쓰일까요?
  • Completion Block
  • Higher Order Funtions

 

Completion Block (=완료됐을 때 실행되야하는 블록)

ex. 네트워크를 통해서 데이터를 받아온다고 할 때,

네트워크 환경에 따라 빨리, 혹은 늦게 받아질 수 있는데

그 상황이 시간이 얼마나 걸리든지, 해당하는 일이 끝나고 수행해야 할 때, 클로져를 사용한다.

 

High Order Funtions (=고계함수)

 

input으로 함수를 받을 수 있는 유형의 함수를 high Order Funtions라고 합니다.

인자를 함수로 받을 수 있는 녀석을 고계함수라고 합니다.

함수 자체에 Clousre를 사용하여 사용할 수 있습니다.

 

몰라도 실무에서 쓰다보면 자연스럽게 익히는 거니, 염려말고 잘 모르시겠으면 건너 뛰시는 것을 추천합니다.

 

반응형

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

[Swift] GCD / Queue / Sync 와Async 차이  (0) 2022.03.23
[Swift] Networking, Concurrency(동시성)  (0) 2022.03.23
[Swift]D10-3 Closure  (1) 2022.03.06
[Swift] D10-2 Set  (0) 2022.03.05
[Swift] 10-1 Dictionary  (0) 2022.03.05