iOS. 앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가?

sanghee·2021년 12월 29일
0

👩‍💻면접 스터디

목록 보기
17/22
post-thumbnail

매주 진행하는 면접스터디에서 아래의 질문들에 대한 정리를 모은 글입니다.
https://github.com/JeaSungLEE/iOSInterviewquestions

UserDefaults

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

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

CoreData

객체 그래프를 관리하기 위한 Framework이다.

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

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

SQLite

Swift에는 특별한 설치없이 바로 사용할 수 있다.

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

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

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

Realm

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

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

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

profile
👩‍💻

0개의 댓글