개발을 시작하는 이야기

앱의 콘텐츠나 데이터 자체를 저장/보관하는 객체들 본문

개발 이야기/Swift

앱의 콘텐츠나 데이터 자체를 저장/보관하는 객체들

Teiresias 2022. 3. 16. 18:42

UserDefalts

키 - 값을 쌍으로 저장하는 인터페이스. 런타임 시 개체를 이용하여 기본 데이터베이스에서 사용하는 기본값을 읽어오기 때문에 필요할 때마다 데이터베이스를 열 필요가 없다.

대용량의 데이터보다는 최조접속여부, 자동 로그인 여부, 아이디, 환경설정에서의 설정 데이터 값과 같은 단일 데이터 등을 보관한다.

 

 

CoreData

객체 그래프를 관리하기위한 FrameWork.

SQLite와 같이 테이블을 이용하지 않고 객체를 생성하여 데이터를 운영하기 때문에 더 많은 저장공간과 메모리를 필요로 한다. 하지만 더 빠르게 데이터를 가져온다.

Data Model을 생성한 후 Entity를 생성한다.

SQLite

오픈소스로 Android, iOS, macOS에 기본적으로 포함되어있다.

C언어로 작성되어있어 매우 가벼운것이 특징이며, 전체 데이터베이스를 디스크 파일 1개에 저장하고, 설정 자체가 매우 간편하기에 관리가 수월하다.

SQLite는 iOS, Android, Linux, Window 등과 같이 다양한 운영체제에서 사용된다.

수많은 프로세스와 스레드의 접근으로부터 안전하다.

Realm

SQLite와 같이 오픈소스이며, 모바일에 최적화된 라이브러리다. SQLite, CoreData보다 속도가 빠르고 성능면에서 더 우수하다.

많은 작업들을 처리하기 위해 코드가 많이 필요하지 않으며, 메인 스레드에서 데이터의 읽기, 쓰기 작업을 모두 할 수 있어서 편리하다.

대용량의 데이터에 대해 무료로 사용할 수 있으며, 용량이 적고 큼에 상관없이 속도와 성능이 일정하다.

'개발 이야기 > Swift' 카테고리의 다른 글

weak, unowned  (0) 2022.03.19
ARC(Automatic Reference Counting)  (0) 2022.03.18
ViewController  (0) 2022.03.17
시뮬레이터의 차이점  (0) 2022.03.15
Frame과 Bounds  (0) 2022.03.14