TIL 17
오늘 한 일 / 배운점
-
개인 과제 Lv.3
-
8/9 15:00 팀 내 코드리뷰
-
8/9 16:00 개인 면담 (SJ매니저님)
-
8/9 19:00 실시간 세션 : 옵셔널의 이해 + 예외처리 (HH튜터님)
- 옵셔널 체이닝(OptionaI Chaining):
nil 값이 하나라도 있으면 결과도 nil, 모두 값이 있어야 결과를 꺼내줌.
-
예외 처리 : 말 그대로 예상치 못한 에러 상황을 다룸.
예외 처리에는 if 문, 함수에 throws 추가 등 다양한 방법이 있는데
예를 들어 아래와 같이 예외 처리가 가능하다// enum으로 에러 정의 enum TestError: Error { case dividedByZero } // 분명 문제가 생길 수 있는 함수라서 예외를 처리 func devide5Number(_ number: Int) throws -> Int { let originNumber = 5 guard number != 0 else { throw TestError.devidedByZero } return originNumber/number } // do catch문으로 함수를 싸서 잡아냄 do { devide5Number(0) } catch TestError.devidedByZero { print("0이 들어갔습니다") }
- 옵셔널 체이닝(OptionaI Chaining):
과제
- 개인 과제 다듬기
느낀점
드디어 개인과제 Lv.3까지 구현이 끝났다
이로써 필수 항목은 다 채웠는데 아직 코드도 주석 같은 것도 덕지덕지 달려있고
너무 지저분한 것 같아서 내일은 코드도 좀 깔끔하게 정리하고 그 외 보완해야 할 부분 수정해야겠다
그리고 오늘 팀 내 코드 리뷰 때 IS 님 코드에서 weak var (변수명)
lazy var (변수명)
이런 게 있어서
물어봤는데 ARC라는 메모리 관리? 그런 거라고 한다 또 접근제어라는 것도 알려주셨는데
한번 공부하고 나도 적용해 봐야겠다.