[iOS] Local DB(2) - Core Data Concept
2023. 10. 9. 21:27
iOS/iOS
지난 포스팅에서 알아본 UserDefaults, Keychain은 큰 데이터를 저장하기에는 적합하지 않다. "UserDefaults"는 Memory에 캐싱하기 때문에 메모리 부족으로 이어질 수 있고, "Keychain"의 경우에는 Apple에서 민감한 데이터를 위해 제공하기 때문에 적합하지 않다. 이번 포스팅에선, 좀 더 큰 데이터를 저장하기 적합한 Core Data에 대해서 알아보자. Core Data "Core Data"는 Application의 Model Layer의 객체를 관리하는 Framework다. 정확히 말하자면, Core Data는 Database가 아니고, Object Graph Manager이다. Object Graph Manager Object Graph란, 말 그대로 Object간의..
[iOS] Local DB(1) - UserDefaults, Keychain
2023. 10. 4. 18:27
iOS/iOS
"Local DB"란 어플리케이션과 동일한 시스템에 있는 데이터베이스이다. 즉, 어플리케이션을 사용하는 핸드폰 혹은 테블릿 내에 위치한 저장소이다. 어플리케이션에서 매번 서버로부터 데이터를 가져오게 되면 엄청난 네트워킹 딜레이를 겪게 된다. 예를 들어, 카카오톡의 경우 친구목록을 항상 서버로부터 불러온다면, 해당 View에 접근할 때마다 친구목록을 fetch해오는 딜레이를 겪게 된다. 하지만, 이를 Local DB에서 fetch해오게 된다면 네트워킹 딜레이가 사라지게 된다. 이번 포스팅에선 Swift의 LocalDB 중 주로 간단한 형식의 데이터만 저장할 때 사용하는 "UserDefaults", "Keychain"에 대해서 알아보자. UserDefaults "UserDefaults"는 Single Ton..