[Swift] Attempt to set a non-property-list object : 커스터마이징한 데이터 타입은 UserDefault에 담지 말자!
이는 UserDefault를 배우면 마주치게 되는 오류이다. UserDefault는 App 실행 시 유저가 App 내에서 설정한 값들을 저장하기 위한 용도로 사용되어야 한다. 여기서 "설정한 값"은 매우 작고 단순한 데이터여야 한다. ex)유저가 커스텀화한 것으로서 App에서의 선호 볼륨 값(Float), 최고 점수(Int), 유저 닉네임(String), 자동실행 여부(Bool) 또는 이 앱이 설치 후 처음 실행되고 있는지에 따른 도움말 표시 여부까지(!) 즉 이 작은 데이터들은 Key-Value 형태로 .plist에 가볍게 저장되는 것이다. 여기에 Array나 Dictionary 같이 메모리를 많이 잡아먹는 무거운 녀석들을 담는다면, 간단한 정보 저장을 담당하는 UserDefault의 존재 목적과 철학..
2020.04.19