swift에서 데이터의 지속성을 유지하는 방법에는 다음과 같은 형식이 존재한다.
- UserDefaults
- FileManager
- ColeData
1. UserDefault
- 런타임 환경에서 동작하면서 앱이 실행되는 동안 기본 저장소에 접근해 데이터를 기록하고 가져오는 역할 (웹개발에서의 local storage 등등의 역할)
- UserDefault는 방대한 양의 데이터를 저장하는 용도가 아니기에 싱글톤 패턴으로 설계되어 단 하나의 인스턴스만 존재한다.
- swift ui에서는 appStorage 속성 래퍼를 통해 간단히 저장할 수 있다.
@AppStorage("name") var name: String = "red"
2. File Manager
- 윈도우나 맥에서 파일로 프로그램이 존재하듯 앱에서도 document 폴더등을 갖고 있는데 이 공간을 관리하는 매니저라고 생각하면 될 것 같다.
3. Core Data
- UserDefaults와 비슷한 역할이나 앱의 영구 데이터를 저장 할 수 있다.
- 좀 더 복잡한 데이터를 저장하기에는 Core Data가 적합.