기어가더라도 제대로

[SwiftUI-기초] Bundle 에서 Data 가져오기 본문

SwiftUI - 기초

[SwiftUI-기초] Bundle 에서 Data 가져오기

Damagucci-juice 2022. 10. 23. 23:01

- Image 를 에셋 카탈로그에서 가져오는 것처럼(해상도에 맞춰서) JSON이나 XML 도 가져올 수 있다. 

- Bundle 은 무엇인가? 앱의 모든 파일을 보관하는 장소, 이진 코드, 그림, 기타 파일 모두 포함

- 하나의 앱에서 여러 번들을 다루는 방법 , 시리, i메시지, 위젯, 등 각자의 앱 번들 안에 있다. 

- 일부 번들은 다운받는 앱에 포함되기도 하지만, iOS 자체에 포함되기도 한다.

- 번들에서 파일을 찾는 일이 중요한데, 이 때 사용되는 것이 URL 이다.

if let fileURL = Bundle.main.url(forResource: "some-file", withExtension: "txt") {
    // fileURL 사용가능
}

- URL 로 메인 앱 번들에서 파일 찾는 법 + 옵셔널 언래핑

- 앱은 sandbox 내부에서 동작하며 그 밖을 읽으려 해선 안된다. 

- 가져온 URL 로 코드화하기, error 발생 가능성

// 파일을 String으로 변환이 가능하면 컨텐츠에 담기고 아니면 error 를 반환
if let fileContents = try? String(contentsOf: fileURL) {

}

 

Comments