![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/vBCuu/btqFNsKE0hw/5JX46KWp8WUOGpUYf9k1jK/img.png)
Error Handling 에러 처리 프로그램 내에서 에러의 상태를 수신하고, 반응하여 처리하는 과정을 에러처리라고 합니다. 스위프트에서는 런타임 과정에서 회복가능한 에러를 처리하고, 전파하고, 반응하고, 던지는 것이 가능한 일급 객체(first-class)를 지원합니다. 우리가 항상 무언가 연산을 하려고 할때 그 연산이 반드시 성공할 것이라는 것을 보장할 수 없을 때가 있을 겁니다. 예를들면, 네트워킹작업이나 JSON파일 인코딩 디코딩 작업 등이 있겠지요. 이렇게 연산간 문제가 발생해서 반환하는 값 타입이 부재할 수도 있는데 이에 대비하여 존재하는것이 Swift의 옵셔널('?', Optional)이 되겠습니다. 하지만 옵셔널로 값이 부재함을 확인하는것 만으로는 에러를 처리하는데 부족할 수 있습니다. 해..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/I2Pax/btqFPGNJxrl/pzfxnMj4cYSkC4lFjuUg7K/img.png)
Opaque Types 불투명 타입 Opaque 반환 타입을 가진 함수, 메서드는 자신의 반환타입 정보를 외부에 숨길 수 있습니다. 일반적인 반환타입 처럼 명확한 반환 타입을 외부에 제공하는 대신 말이지요. // OpaqueType 사용 예시, 반환타입은 Shape 프로토콜을 채택한 어떠한 타입이던 될 수 있습니다. // -> 즉, 말 그대로 불투명한 타입(Opaque Type)입니다. func flip(_ shape: T) -> some Shape { return FlippedShape(shape: shape) } 반환타입을 숨기는 것은 모듈로 호출되는 코드와 모듈 사이에서 유용하게 사용되어질 수 있습니다.그 이유는 반환타입에 의존하는 타입은 private으로 유지될 수도 있기 때문입니다. 반환할때 일..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bbpElK/btqFFT2T6Q3/Z9VtkEOIkFMcMusQspn9LK/img.png)
안녕하세요! developer, 멍구입니다. 🤗 오늘은 Swift언어의 switch문에서 사용할 수 있는 fallthrough문의 사용법에 대해서 알아보도록 하겠습니다! FallThrough Statement FallThrough문 사용하기 fallthrough 예약어는 fallthrough 키워드를 명시해서 사용할 수 있으며, swift언어의 switch문 내에서만 사용할 수 있습니다. 보통은 switch-case 문에서 특정 한개의 case 문 혹은, 묶음 case 문을 거치면 그 외 관련없은 case문은 무시하고 해당 switch문을 빠져나가는게 일반적입니다. 하지만, fallthrough를 사용하면 하나의 case문이 거친 뒤, 그 다음 case문의 내용을 이어서 실행하는 동작이 가능합니다. 프로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bhqtye/btqFCoPlMId/AWMLkkikbIdV86QZVwIiGK/img.png)
Closures 클로저 클로저(Closures)는 코드 상에서 전달되어 사용될 수 있는 독립적인 블록입니다. Swift의 함수들은 전부 클로져이며 이름이 존재하냐, 없냐의 차이가 있을 뿐입니다. 또한 클로져는 할당받기, 인자전달, 반환 등이 모두 가능한 1급객체입니다. Swift의 클로져는 C언어, Objective-C언어 등의 타 프로그래밍 언어 상의 람다와 유사합니다. 클로져는 정의되어 있는 상수나 변수들에 대해 참조 및 저장해서 사용할 수 있습니다. 이를 "클로저가 상수, 변수들을 닫아둔다" 라고도 합니다. Swift에서는 클로저 캡쳐링 간의 메모리 관리를 방법을 제공합니다. NOTE 클로져 캡쳐링(Closure Capturing)과 관련해서 익숙하지 않더라도 걱정할 필요는 없습니다. 더 자세한 내..
- Total
- Today
- Yesterday
- 알고리즘
- 프로그래머스swift
- 스위프트
- swift 기초
- 자연어처리
- 백준알고리즘
- Swift 알고리즘
- swift언어
- 김프매매
- createML
- 부스트코스
- Collection
- swift 문자열
- uikit
- 개발자문서
- swift string
- 프로그래머스
- Protocol
- publisher
- SwiftUI
- swift알고리즘
- 백준swift
- 프로토콜
- swift문제
- ios
- swift
- swift reduce
- 알고리즘문제
- CoreML
- 컬렉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |