목록UIKit 기초 (40)
기어가더라도 제대로

목차 1. KeyedArchiver 와 KeyedUnarchiver 란 무엇인가? 1. 공식문서에서의 정의 2. 사용법 1. 사용하기 위한 전제 조건 2. 클래스에서 사용법 3. 요약 KeyedArchiver 와 KeyedUnarchiver 알아보기 코드스쿼드 미션을 하다가 알게 되었다. 이것을 하다가 보면 깊은 복사와 얕은 복사도 알면 좋은데 그건 다음에 알아보기로 하자. 일단 영어 해석부터 해보자. Keyed 뭔가 키-값 쌍으로 저장할 것같다. Archiver archive 는 기록 보관소라고 직역하면 되는데, er 이 붙었으니까 기록을 보관해주는 녀석 같다. 아! 뭔가를 저장해주는 녀석이구나! 조선시대로 치면 사관같은 녀석이다. 아주 꼼꼼하게 기록하는 모양이다. 어떻게 꼼꼼하게 기록을 하느냐면 이전..
문제 상황 사용자가 앱을 사용하면서 좋아하는 설정을 해놓으면, 이에 관한 정보를 어디에 담을 것인가? 예를들면 다크모드를 사용하고 있다던지, 글자 크기는 보통보다 크다든지, 음악의 재생속도를 설정하는 등의 상황들 말이다. 이러한 설정들을 어플리케이션에 저장할 수 있는 방법이 있는데 UserDefaults 라고 한다. 간단한 사용법을 한 번 알아 보자. 공식문서에서는 뭐라고 하는가? 앱의 launch 에서부터 key-value 쌍의 데이터를 영구적으로 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스 런타임에 사용할 때마다 찾아오지 않고 캐시를 한다고 한다. 파일 기반으로 저장하기 때문에 저장된 파일을 옮기면 찾지 못한다고 한다. bookmarkData() 를 사용하라고 한다. 사용법 UserDefau..

목차 1. AppDelegate 1. → VC 2. → SceneDelegate 2. SceneDeleagate 1. → AppDelegate 2. → VC 3. VC 1. → AppDelegate 2. → SceneDelegate 정의 앱의 구성요소들 간에 참조가 필요할 때가 있다. 앱의 생명 주기에 관한 일이라든지 .. 하다가 적어 놓으면 나중에 잊어버렸을 때 유용할 거 같아서 정리를 해놓는다. 사용법 AppDelegate → VC 마땅한 방법이 없다. 왜 그러냐면은 AppDelegate 에 window 가 있던 시절엔 가능했지만, 이젠 기본적으로 SceneDelegate 로 window 가 옮겨갔다. 그나마 이 경우엔 두가지가 있다. 1. VC 에서 접근하고자 하는 속성이나 메서드를 싱글톤으로 선언..