티스토리 뷰
728x90
반응형
박스를 뜯는 경우를 생각해보자
(매우 자연스럽고 적합한 비유의 예제는 아니다 ..)
1. [Forced unwrapping] 인정사정없이 박스를 강제로 뜯는다
내용물이 있으면 정상이지만, 내용물이 없는경우 컴파일 에러가 발생하게 된다.
2. [Optional binding (if let)] 부드럽게 박스를 개봉한다
컴파일에러는 발생하지 않지만, if문이 다중으로 쓰이므로 deps level이 깊다.
이는 Cyclomatic Complexity가 높은(복잡성이 높은) 코드다.
3. [Optional binding (guard)] 부드럽게 박스를 개봉한다
if를 하나 줄였으므로, 이전 코드보다는 복잡성이 줄어들었다.
4. [Nil coalescing] 박스를 개봉했을 때, 비어있으면 디폴트 값을 준다
이건 예시가 좀 잘못 됐는데 ...
박스가 비어있으면, '??'연산자 뒤의 값이 해당 상수에 저장된다고 이해하면 된다 ..
괜히 비유하려고 노력했다가 더 꼬여버렸다 ...
728x90
반응형
'Swift' 카테고리의 다른 글
Collection - Dictionary (0) | 2020.12.14 |
---|---|
Collection - Array (0) | 2020.12.14 |
Optional (0) | 2020.12.11 |
Function - 고급기능 (0) | 2020.12.11 |
Function 복습 (0) | 2020.12.11 |