iOS

[iOS] iOS에서의 네트워크

yevdev 2022. 7. 14. 20:49

1️⃣ URLSession

  • iOS 네트워크 작업을 도와줌
  • URLSesstion을 이용해서 서버와 소통
    • URLSessionConfiguration
      • .default
        - 디스크를 이용한 정보 저장을 하는 configuration
        - 그냥 브라우저를 띄울 때
      • .ephemeral
        - default랑 비슷핸데, 몇가지 정보들을 저장하지 않음 (쿠키, 인증서 등)
        - 브라우저 시크릿 모드라고 생각하면 쉬움
      • .background
        - 네트워크를 통해, 파일다운로드 받을 때
        - 앱이 백그라운드에서 돌 때도, 다운도르 시켜줄 수 있음
    • URLSession : contifuration을 보고, 세션을 생성
    • URLSessionTask
      • dataTask
      • uploadTask
      • downloadTask

 

2️⃣ Codable

- swift 객체를 외부 데이터 형태(주로 JSON)로 인코딩, 디코딩 가능하게 해주는 타입

- 네트워크 응답형태로 JSON이 거의 표준으로 사용

- Codable을 이용하면, JSON과 swift 객체 간 전환이 매우 쉬움

 

3️⃣ URLSession + Combine

- URLSessionDataTask에 대해서 publisher 제공 → 비동기 응답에 대한 작업이 더 수월함

https://yexjinitlog.tistory.com/118

 

[iOS] Combine (2) : Publisher / Subscriber / Operator

Combine(1)에서 간단히 정의한 Publisher / Subscriber / Operator 1️⃣ Publisher - 생산자 2️⃣ Subscriber - 소비자 3️⃣ Operator - 가공자 Event Stream(Event Pipeline) - Publisher → Operator → Sub..

yexjinitlog.tistory.com

 

 

 

 


 

 

 

➰UITabBarController를 이용한 토이프로젝트

https://yexjinitlog.tistory.com/122?category=1022295 

 

[iOS : Toy Project] Github Profile

💡 Network을 이용해, Github 프로필 가져오기! 들어가기에 앞서,, SearchViewController에 Component 연결까지도 되어있다! 일단 ViewController에서 해줘야 할 일은 setupUI : UI 세팅 userProfile 데이터 확인..

yexjinitlog.tistory.com

 

 

 

 


Reference

  • 패스트 캠퍼스

 

 

'iOS' 카테고리의 다른 글

[iOS] TabBar + Navigation의 모든것  (0) 2022.10.19
[iOS] UICollectionViewDelegate  (0) 2022.09.15
[iOS] 네트워크 왕 기초 개념  (0) 2022.07.14
[iOS] Combine (2) : Publisher / Subscriber / Operator  (0) 2022.07.03
[iOS] Combine (1) : Overview  (0) 2022.07.03