적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Swift iOS 앱 개발/iOS

데이터 저장 1 - 프로퍼티 리스트

hongssup_ 2021. 3. 18. 17:05
반응형

1. 프로퍼티 리스트란? 

프로퍼티 리스트 : 애플의 주요 소프트웨어 프레임워크에 이용되는 객체 직렬화를 위한 XML 형식의 파일로, plist 파일이라고 부르기도 한다. 비교적 단순하고 간단한 데이터를 XML 포맷에 맞추어 key-value 형식으로 저장하는 것. 

*객체 직렬화 : 객체의 내용을 바이트 단위로 변환하여 파일에 기록하거나 네트워크 통해 전달이 가능하도록 하는 것

*XML : Extensible Markup Language 단순성, 일반성 그리고 인터넷을 통한 사용성을 강조하여 설계된 텍스트 데이터 형식의 다목적 마크업 언어

대부분 앱의 공통 데이터나 주요 설정 정보를 저장하는 데에 쓰임. 

iOS 기반 프로젝트에서 볼 수 있는 Info.plist 파일은 앱의 빌드와 실행에 필요한 환경 설정값을 저장하는 대표적인 시스템 프로퍼티 파일. 

프로퍼티 리스트는 데이터의 타입을 추상화(개별적 특성을 배제하고 공통성을 띄는 것)하여 저장. 

데이터는 그대로 보존하되 타입만 추상화하는 것이 프로퍼티 리스트 데이터 저장 메커니즘의 핵심. 

 

2. 프로퍼티 리스트와 데이터 타입

프로퍼티 리스트에 저장할 수 있는 데이터 타입

- 원시 타입 (Primitive Data Type)

스위프트에서 제공하는 String, Int, Float, Double, Bool 등 

- 레퍼런스 타입 (Reference Data Type)

파운데이션 프레임워크에서 제공하는 NSString, NSNumber, NSDate, NSData 등. (objc에서 주로 사용하던 자료형)

코어 파운데이션 프레임워크에서 제공하는 CFString, CFDate, CFData 등

- 컨테이너 형태의 집합 자료형

Array, Dictionary 등. 이를 이용하면 여러 개의 연관된 데이터를 하나의 키 아래에 모두 저장할 수 있어 사용하기 좋음.

 

프로퍼티 리스트는 XML 형식을 따르기 때문에 XML 문법을 적용하여 < > 안에 데이터 타입을 표시해주어야 한다. 

<array> <dict> <string> <date> <data> <integer> <real> <true/> <false/>

프로퍼티 리스트에 저장할 수 있는 데이터 타입들을 '프로퍼티 객체 타입'이라고 한다. 

프로퍼티 리스트에 표현되는 각각의 항목들을 '노드(Node)'라고 부른다.

 

 

728x90
반응형