안녕하세요. 오늘은 앱에 다크 모드와 라이트 모드를 구현하는 방법과 제가 구현하는 과정에서 겪은 실패(?) 경험에 대한 내용에 대해 포스팅을 해보겠습니다. 우선 iOS 13.0 이전 버전은 다크 모드를 지원하지 않습니다!! 그럼 프로젝트를 생성하여 다크 모드와 라이트 모드를 구현 해보겠습니다! 1. 프로젝트 생성 및 UI컴포넌트 배치 저는 간편하게 만들기 위해 UISegmentedControl을 사용하여 만들어 볼텐데요. UIButton과 ActionSheet 또는 UIButton과 UIMenu를 활용하여도 구현할 수 있으니 원하시는 방법으로 만들어 사용하세요😊 뷰 컨트롤러를 두 개 만든 이유는 아래에서 확인하실 수 있습니다. 2. Segment
이번 포스팅에서는 스위프트 클래스의 Two-Phase Initialization에 대해 알아보겠습니다. Two-Phase Initialization이란? 간단하게 말하면 클래스를 생성할 시 초기화가 2단계에 걸쳐 이뤄진다고 할 수 있겠습니다. 이렇게 2단계에 걸친 클래스의 초기화는 클래스를 더욱 안전하게 다룰 수 있도록 하기 위함입니다. 해당 내용에 대한 스위프트 공식 문서의 내용을 확인해보았습니다. > Class initialization in Swift is a two-phase process. In the first phase, each stored property is assigned an initial value by the class that introduced it. Once the initial state for every stored property has been determined, the second phase begins, and **each