05. 고차함수
1) map 함수
- map 함수는 컬렉션 내부의 기존 데이터를 변형(transform)하여 새로운 컬렉션를 생성합니다.
- 기존의 컬렉션의 요소에 대해 정의한 익명함수로 매핑한 결과를 새로운 컬렉션으로 반환합니다.
2) filter 함수
- 기존 컨테이너의 요소 중 조건에 만족하는 값에 대해 새로운 컨테이너를 만들어 반환합니다.
3) reduce 함수
- 기존의 컨테이너의 요소에 대해 정의한 클로저로 매핑한 결과를 새로운 컨테이너로 반환합니다.



06. 예외처리
1) 실패 가능한 상황과 예외 처리
- 에러처리
- 프로그램에서 에러가 발생한 상황에 대응하고 이에 대응하는 과정입니다.
- Swift에서는 런타임에 에러가 발생한 경우, 이를 처리를 지원하는 클래스를 제공합니다.
- 프로그램에서 모든 기능이 개발자가 예상하고 원하는대로 동작한다는 보장은 없습니다. 따라서 예외 처리를 통해 예외 상황을 구별하고 프로그램 자체적으로 오류를 해결하거나, 사용자에게 어떤 에러가 발생했는지 알려주는 등에 대한 조치와 대응을 해야합니다.
- Error
- Error는 던져질 수 있는 오류 값을 나타내는 유형을 말합니다.
- Error 프로토콜을 채택하여 사용자 정의 에러를 정의하여 사용할 수 있습니다(프로토콜은 8강 참고)
2) throws 와 do-catch 문
- throw와 throws
- throws는 리턴 값을 반환하기 전에 오류가 발생하면 에러 객체를 반환한다는 의미입니다.
- throws는 오류가 발생할 가능성이 있는 메소드 제목 옆에 써줍니다.
- throw는 오류가 발생할 구간에서 써줍니다.
- throw로 던진 에러를 do-catch문에서 처리합니다.
3) try 문 - try, try?, try!
- try
- 에러가 발생할 수 있는 코드 블록을 표시합니다
- 에러를 던질 수 있는 함수나 메서드를 호출할 때 사용됩니다.
- 해당 코드 블록에서 발생한 에러를 잡거나 처리할 수 있습니다(do - catch문).
- try?
- do - catch 구문 없이도 사용이 가능합니다.
- 에러 발생시 nil값을 반환합니다.
- 에러가 발생하지 않으면 리턴 값의 타입은 옵셔널로 반환됩니다.
- try!
- 에러가 발생을 하면 앱이 강제 종료됩니다.
- 반환 타입은 옵셔널이 언래핑된 값이 리턴됩니다.
- 오류가 발생하지 않는다는 보장아래 사용해야합니다.


'iOS (스파르타) > Swift 문법' 카테고리의 다른 글
문법 심화 - 확장, 제네릭 (1) | 2024.06.12 |
---|---|
문법 심화 - ARC와 메모리 누수 (0) | 2024.06.12 |
문법 심화 - 클로저04 (0) | 2024.06.11 |
문법 심화 - 접근제한자 (1) | 2024.06.10 |
문법 심화 - 프로퍼티 옵저버, 타입 캐스팅 (0) | 2024.06.10 |