Optional - 기능 4가지
박스를 뜯는 경우를 생각해보자 (매우 자연스럽고 적합한 비유의 예제는 아니다 ..) 1. [Forced unwrapping] 인정사정없이 박스를 강제로 뜯는다 내용물이 있으면 정상이지만, 내용물이 없는경우 컴파일 에러가 발생하게 된다. 2. [Optional binding (if let)] 부드럽게 박스를 개봉한다 컴파일에러는 발생하지 않지만, if문이 다중으로 쓰이므로 deps level이 깊다. 이는 Cyclomatic Complexity가 높은(복잡성이 높은) 코드다. 3. [Optional binding (guard)] 부드럽게 박스를 개봉한다 if를 하나 줄였으므로, 이전 코드보다는 복잡성이 줄어들었다. 4. [Nil coalescing] 박스를 개봉했을 때, 비어있으면 디폴트 값을 준다 이건 ..
Swift
2020. 12. 12. 00:00
Function - 고급기능
1. 함수 오버로드 : 함수 이름은 같으나, 다른 행동을 하는 함수 2. In-out parameter 함수는 파라미터의 값을 복사하여 상수의 형태로 가져온다. 따라서 해당 값을 변경시키는건 불가능하다. 이를 해결하기 위해, 파라미터 선언시 자료형 왼쪽에 'inout'키워드를 넣어준다. 3. Swift에서는 함수의 파라미터로 함수를 가져올 수 있다. * 함수는 되도록 한 가지 일만 하도록 만들어야하며, 단순하게 짜야한다. 되도록 10줄을 넘기지 말자. : CleanCode
Swift
2020. 12. 11. 19:36