iOS/Swift

[iOS] plist 데이터 불러와서 사용하기

유훈 | Yuhun 2022. 2. 24. 01:19
반응형

iOS에는 plist라는 독특한 파일이 있습니다. 사실 JSON과 비슷하다고 생각되는 파일입니다.

이 파일을 읽어와 사용하는 방법을 다뤄보겠습니다.

 

일단 과정은 URLSession으로 json을 받아와 decoding 하는 과정과 유사합니다.

 

1. plist 구조의 struct를 만든다.

2. Plist 파일의 url을 가져온다.

3. Plist 파일을 Data화 한다.

4. Data를 decoding 한다. 

 

1. struct 만들기

plist파일을 보고 struct를 만듭니다. 

// 예시
struct ex {
	let a: String
    let b: String
    let c: Bool
}

나머지 과정은 한번에 진행하도록 하겠습니다.

2. Plist 파일의 url을 가져온다.

3. Plist 파일을 Data화 한다.

4. Data를 decoding 한다. 

// plist를 가져오는 메서드 만들기
func fetchData() {
	// exPlist.plist -> 파일이름.파일형식
    guard let url = Bundle.main.url(forResource: "파일이름", withExtension: "파일형식") else {return}

    do {
    	// 데이터 받아오고 디코딩(물론 한줄에 처리도 가능은 하지만 가독성을 높이자)
        let data = try Data(contentsOf: url)
        let result = try PropertyListDecoder().decode([아까 만든 구조체].self, from: data)
		
        // result를 이용해 사용 가능 

    } catch {
    	// 에러 처리
    }
}

이런식으로 local의 plist 내용을 가져와 사용이 가능합니다.

데이터 형식이 여러가지이고 사용 방법도 다양한데 아직 정확한 차이는 모르겠습니다. 공부해야지..

반응형