Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- xcode
- 독학
- 패스트캠퍼스
- 옵셔널 체이닝
- Threading
- enum
- 기본문법
- ios
- Realm
- Git
- 함수
- 패스트캠퍼스후기
- TableView
- 문자열 보간법
- 직장인자기계발
- 직장인인강
- beginAsyncWrite
- swift
- Background
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- SeSAC
- 인스펙터
- 열거형
- userDefaults
- RawValue
- cancelAsyncWrite
- 프로퍼티 관찰자
- 패캠챌린지
- switch
- Optional Chaining
Archives
- Today
- Total
아삭아삭 iOS 개발
[Swift 독학] 패스트캠퍼스 챌린지 37일차_고차함수 본문
오늘은 스위프트에서 중요하고 강력한 특징 중 하나인 고차함수의 개념과 종류에 대해 간략히 정리해보겠습니다.
특별히 스위프트에서 함수는 일급객체이기 때문에 함수 자체를 전달인자로 전달하거나 그 결과값을 반환하는 것이 가능합니다.
아래 정리한 map, filter, reduce 세 종류의 고차함수 기능과 특징을 알아보고,
각각 상황에 적절한 함수를 사용해주는 것이 중요하겠습니다.
■ 고차함수(Higher Order Function)
- 다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수
- swift의 함수는 일급 객체이기 때문에 함수의 전달 인자로 전달할 수 있고 함수의 결과값을 반환할 수도 있음
- map, filter, reduce : 모두 콜렉션 타입에 구현이 되어 있음
■ 고차함수 종류
1) map
- 컨테이너 내부에 기존 데이터를 변형하여 새로운 컨테이너를 생성
- collection, sequence의 프로토콜을 따를 경우 사용 가능
: array, optional, dictionary, set 등
- 기존에 있던 요소를 변경하여 그 값을 반환
2) filter
- 컨테이너 내부의 값을 걸러서 새로운 컨테이너로 추출함
- 클로저 표현 간소화 방법으로 작성되어 있음
- 특정한 기준에 맞추어 그에 맞는 값을 반환
3) reduce
- 컨테이너 내부의 요소를 하나로 통합시켜 줌
본 게시물은 개인 공부 기록용이므로 내용에 오류가 있을 수 있습니다.
■ fast campus강의 외 참조자료
[1] https://blog.yagom.net/565/
[2] https://bbiguduk.gitbook.io/swift/language-guide-1/closures
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Swift' 카테고리의 다른 글
[Swift 독학] 패스트캠퍼스 챌린지 39일차_Xcode 내부구성 (0) | 2022.03.03 |
---|---|
[Swift 독학] 패스트캠퍼스 챌린지 38일차_Xcode 실행해보기 (0) | 2022.03.02 |
[Swift 독학] 패스트캠퍼스 챌린지 36일차_클로저 (0) | 2022.02.28 |
[Swift 독학] 패스트캠퍼스 챌린지 35일차_오류처리 (0) | 2022.02.27 |
[Swift 독학] 패스트캠퍼스 챌린지 34일차_옵셔널 체이닝(2) (0) | 2022.02.26 |