네트워크 대비 지식 쌓기 1편과 내용이 이어집니다!
https://daesungstudy.tistory.com/91
Swift Codable
Swift의 인코딩과 디코딩
저번에, UserDefaults에 정보를 넣기 위해서는 인코딩이 필요하다 했었잖슴?
오늘은 그 인코딩이 무엇인지에 대해 알아볼 예정임.
먼저 이 둘을 알아보기 전
Swift의 Codable 프로토콜에 대해 알아보자.
Codable 안을 뜯어보면 인코딩과 디코딩으로 구현되어 있음 그니까 쉽게 말해,
인코딩과 디코딩을 합쳐놓은 프로토콜로써, 이 프로토콜을 사용하게 되면 인-디코딩이 편해진다는 것임.
요바바!! Decodable & Encodable 이라자너~
인코딩(Encodable)
데이터를 특정 형식으로 변환하는 것
이런식으로 Codable을 사용하여 인코딩 할 수 있음
디코딩(Decodable)
인코딩 된 데이터를 다시 원본으로 변환하는 것
이런식으로 코드를 짤 수 있음
Swift URLSession
URLSession은 서버와 통신하기 위해 Swift에서 제공하는 클래스임
이 클래스는 HTTP와 HTTPS의 요청을 만들고, 데이터를 다운로드 하고 파일을 업로드 하며 다양한
네트워킹 작업을 간편하게 수행할 수 있도록 도와줌
URLSession을 다루기 위해서는 크게 2가지 개념을 알아야함
1. URLSessionConfiguration
Configuration 이란 환경 설정을 의미함
보통 URLSession으로 네트워크 통신을 하되, 여러가지 커스텀한 설정들을 할 때 이용함
예를 들어, 네트워크 통신의 타임아웃 시간설정, 네트워크 통신 캐시 정책 설정 등을 세팅할 수 있음
세션의 동작 방식을 설정하는 데 사용되며 크게 세 가지 기본설정이 있음
1-1) default : 디스크에 캐시된 데이터를 사용하며, 쿠키와 같은 영구적인 저장소를 사용
1-2) ephemeral : 디스크에 아무것도 저장하지 않고, 세션이 끝나면 모든 데이터가 삭제됨
1-3) background : 앱이 백그라운드에 있을 때도 네트워킹 작업을 계속할 수 있음
2. URLSessionTask
네트워크 요청을 나타내는 객체임
네트워크 통신을 할 때 어떤 테스크를 수행할 것 인지 결정이 가능함
2-1) URLSessionDataTask : GET 요청, 서버로부터 데이터를 가져오거나 서버에 데이터를 전송할 때 사용
2-2) URLSessionDownloadTask : 파일 다운로드를 처리할 때 사용. 백그라운드 다운로드 지원
2-3) URLSessionUploadTask : 파일 업로드를 처리할 때 사용. 백그라운드 업로드 지원
'Swift' 카테고리의 다른 글
Swift MVVM (0) | 2024.07.19 |
---|---|
Swift 싱글톤 패턴 (0) | 2024.07.14 |
Swift UserDefaults (0) | 2024.07.11 |
Swift CoreData (0) | 2024.07.10 |
ARC와 MRC (0) | 2024.07.09 |