목록개발_iOS/데이터 관리 (6)
소피it블로그

https://developer.apple.com/documentation/coredata/setting_up_a_core_data_stack Apple Developer Documentation developer.apple.com 앱의 객체들을 관리하고 저장해주는 클래스를 셋업해보자. 1. 개요 데이터 모델 파일을 생성한 후에 앱의 모델 계층을 통합적으로 지원하는 클래스들을 생성하라. 이 클래스들을 통틀어 Core Data stack 이라고 부른다. NSManagedObjectModel의 인스턴스는 앱의 타입, 프라퍼티, 관계를 묘사하는 모델 파일을 나타낸다. NSManagedObjectContext의 인스턴스는 앱의 타입의 인스턴스들의 변화를 감지한다. NSPersistentStoreCoordinat..

https://developer.apple.com/documentation/coredata/modeling_data Apple Developer Documentation developer.apple.com 데이터 모델은 앱의 객체에 관한 정보와 객체들이 어떻게 서로 관계를 맺는지에 대한 그래프를 포함한다. 프로젝트의 .xcdatamodeld 파일 패키지에 이 정보를 제공한다. 하단의 스크인샷은 지진 데이터의 피드를 보여주는 앱의 데이터 모델을 나타낸다. 객체를 entity로 묘사함으로써 데이터를 모델링하고, 그 과정에서 프라퍼티를 애트리뷰트와 관계로 추가하라. 또, 최종적으로 NSManagedObject 서브클래스를 각각 생성하여 변화 트랙킹과 라이프 사이클 관리를 상속하라.

https://developer.apple.com/documentation/coredata Apple Developer Documentation developer.apple.com 디바이스 하나에 데이터를 저장하거나 캐싱하는 것, 혹은 CloudKit를 통해 여러 디바이스에서 데이터를 싱크하는 것 1. 개요 코어데이터를 사용하면 오프라인 사용을 위한 앱의 영구적인 데이터 저장, 일시적 데이터의 캐싱, 그리고 앱에 디바이스 하나에서 사용할 undo functionality를 추가할 수 있다. iCloud 계정 하나로 여러 개의 디바이스 상에서 데이터를 싱크하고 싶은 경우에는 Core Data는 자동적으로 스키마를 CloudKit 컨테이너에 미러링한다. 코어 데이터의 데이터 모델 에디터를 통해 데이터의 타입..
https://developer.apple.com/documentation/foundation/nscoder Apple Developer Documentation developer.apple.com 다른 객체들의 아카이빙과 분배를 가능하게 하는 객체들의 기본이 되는 추상 클래스 1. 선언 class NSCoder : NSObject 2. 개요 NS코더는 메모리와 다른 포맷들 사이에서 객체와 다른 값들을 전달하기 위해 구체적인 서브클래스에서 사용되는 인터페이스를 정의한다. 이 기능으로 인해 아카이빙(객체와 데이터를 디스크에 저장하기)과 분배(서로 다른 프로세스타 스레드 간에 객체와 데이터를 복제하기)의 기초가 확립된다. Foundation이 이 목적을 위해 제공하는 구체적인 서브클래스들은 NSArchive..
iOS 개발을 하며 데이터를 지속적으로 저장할 필요가 있을 때엔 다음 여섯 가지 방법 중 하나를 택하면 된다. 상위 3개는 plist 등의 테이블에 저장하기 때문에 간단하고 용량이 작은 데이터를 저장하기에 알맞고, 하위 3개는 데이터베이스이기 때문에 본격적인 데이터 저장을 위해 사용하면 된다. 분류 방법 용도, 사용 예시 테이블 유저디폴트 key-value 쌍으로 된 저용량의 데이터 e.g., 유저의 닉네임, 최고점수, 볼륨 크기 등 테이블 Codable 커스텀 객체로 이루어진 저용량의 데이터 (plist에 저장함) 테이블 키체인 보안이 필요한 데이터 e.g., 비밀번호 데이터베이스 SQLite 대용량의 데이터, 쿼리가 필요할 때 데이터베이스 코어데이터 대용량의 데이터, 쿼리가 필요할 때 데이터베이스 R..
https://developer.apple.com/documentation/foundation/userdefaults Apple Developer Documentation developer.apple.com 유저의 디폴트 데이터베이스의 인터페이스로, 앱의 론치를 넘어 지속되는 키-밸류 쌍이 저장됨 1. 선언 class UserDefaults : NSObject 2. 개요 유저디폴트 클래스는 디폴트 시스템과 상호작용하는 프로그램상의 인터페이스를 제공한다. 디폴트 시스템은 앱이 유저의 선호에 맞춰 커스텀될 수 있도록 한다. 예를 들어 앱은 유저들이 선호하는 단위나 미디어 재생 속도 등을 선택하게 할 수 있다. 앱은 이러한 선호들의 값에 매개변수를 부여하여 유저의 디폴트 데이터베이스에 저장한다. 이 매개변수들..