에러Errors thrown from here are not handled because the enclosing catch is not exhaustive 에러 원인do-catch 구문에서 catch 블록이 모든 가능한 에러를 처리하지 않을 때 발생 에러 해결enum에 있는 모든 케이스를 다 해줬는데도 not exhaustive 에러가 떠서 뭐지? 했는데 어떤 에러가 throw 될지 모르기 때문에 디폴트 값을 하나 설정해줘야 한다는 것이었다. // 2개의 에러를 설정해둔 상태enum UserInfoError: Error { case idIsEmpty case isMissMatch}func start() { do { try checkUserId() } catch Use..
프로토콜에는 기본값을 설정해줄 수 없지만, 확장을 쓰면 기본값을 설정해줄 수가 있다!protocol Drawable { func draw()}extension Drawable { func draw() { print("Drawing...") }}// Drawable 프로토콜을 채택한 타입들이 draw() 메서드를 구현하지 않더라도 // 기본적으로 "Drawing..."을 출력하는 draw() 메서드를 자동으로 사용할 수 있음struct Circle: Drawable {}let circle = Circle()circle.draw() // 출력: "Drawing..."// 물론 오버라이딩을 해도 된다struct Rectangle: Drawable { func draw() { ..
⌘ + ⌫ : 해당 라인 지우기⌘ + ⇧ + K : 프로젝트 클린⌘ + B : 프로젝트 빌드⌘ + R : 프로젝트 실행⌘ + Shift + O : 프로젝트 내 파일, 클래스, 함수 검색⌘ + Shift + F : 프로젝트 전체 검색⌘ + Shift + O : 프로젝트 내 파일, 클래스, 함수 검색⌘ + Shift + F : 프로젝트 전체 검색⌘ + ⌃ + E : 변수/함수명 한번에 바꾸기⌘ + ⌃ + J : 함수 정의된 곳으로 이동 -> 점프 ⌘ + ⌥ + ←(→) : 코드 접기/펼치기⌘ + ⇧ + 0 : Apple Documentaion 오픈⌘ + / : 해당 라인 주석