Swift: 고차함수

나이든별 / Oldstar·2022년 1월 20일
0

Swift / iOS Keywords

목록 보기
11/13

참조 : App development with Swift (in Apple Books)
참조 : https://developer.apple.com/documentation/swift/sequence/2950916-compactmap

  • 다른 함수를 전달인자로 받거나, 함수실행의 결과를 함수로 반환하는 함수.
  • 스위프트의 함수는 클로저의 모양으로 다른 함수의 전달인자로 전달될 수 있으며, 또한 함수의 결과값으로도 반환될 수 있다. 즉, 함수와 뗄 수 없는 개념.
  • 스위프트 표준 라이브러리에서 제공하는 고차함수로는 map, reduce, filter가 있다.
  • map 함수는 컨테이너 내부의 데이터를 변형해 새로운 컨테이너를 생성한다. 클로저 안에는 어떻게 데이터를 변형할지 넣어 준다.
  • filter 함수는 컨테이너 내부의 값을 걸러서 새로운 컨테이너로 추출한다. 클로저 안에는 거를 조건을 입력한다.
  • reduce 함수는 컨테이너 내부의 값을 하나로 통합한다. 첫 번째 파라미터에는 기본값을 넣어 주고, 두 번째 파라미터의 클로저 안에는 어떻게 처리할 것인지 넣어 준다.
  • 매개변수, 반환 타입, return(반환 키워드)를 생략할 수 있다. 흔히 보는 $0과 같은 것이 그런 의미.
  • 또 유용하게 쓸 수 있는 고차함수로 compactMap이 있는데, 1차원 배열에서 nil을 제거하고 옵셔널 바인딩을 할 때 사용한다.
profile
함께 나아가고자 하는 사람

0개의 댓글