์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- rxcocoa
- raywenderlich
- Swfit
- SwiftUI
- combine
- BFS
- MVVM
- realm
- ๋ฐฑ์ค
- BOJ
- designpattern
- tableView
- Kuring
- visionOS
- TCA
- XCTest
- reactorkit
- Xcode
- SnapKit
- RxSwift
- UIKit
- Flutter
- ํจ์คํธ์บ ํผ์ค
- Lv2
- ํ๋ก๊ทธ๋๋จธ์ค
- node.js
- swift
- arkit
- CollectionView
- ios
- Today
- Total
๋ชฉ๋กCodable (2)
lgvv98
โ ์ด๋ฒ์๊ฐ์๋ ์๋ฒ์์ API๋ฅผ ๋ฐ์์์ ํ์ฑ๊น์ง ํ๋ ๊ฒ์ ์์๋ณด์! โ ์ด๋ฒ์๊ฐ์ ์์๋ณผ ์ฝ๋๋ ์๋์ ๊ฐ์ ์ฝ๋์ด๋ค. class SearchAPI { static func search(_ term: String, completion: @escaping ([Movie]) -> Void) { // completion ํด๋ก์ ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ // ์ด์ค์ผ์ดํ์ด ์์ผ๋ฉด ํจ์๊ฐ ์ข ๋ฃ๋๊ณ ๋์ ์คํ let session = URLSession(configuration: .default) // 1. ์ธ์ ๋ง๋ค๊ธฐ var urlComponents = URLComponents(string: "https://itunes.apple.com/search?")! let mediaQuery = URLQueryItem(n..
โ ์ ๊ทธ๋ผ ์ด๋ฒ์๊ฐ์๋ URLSession์ ๋ํด์ ์์๋ณด๋๋ก ํ์. โ URLSessionConfiguration Class์ ๋ํด์ ๋ณด์ ๋๋ถ๋ถ์ default๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. Ephemeral ๊ฐ์ ๊ฒฝ์ฐ๋ ํฌ๋กฌ์ ์ํฌ๋ฆฟ๋ชจ๋ ์ฒ๋ผ ์ฟ ํค๋ ์ ๋ณด๋ค์ ์ ์ฅํ์ง ์์ ๋ ์ด์ฉํ๋ค. โ ๋ค์์ URLSessionTask๋ค ์ด๊ฑธ ํตํด์ ์ค์ ๋ก ์๋ฒ์ ํต์ ํ๋ค. ๋ฐ์ดํฐ ๋ฐ๋๊ฑฐ๋ฉด DataTask๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ด๊ฑด background ์ธ์ ์ ๋ํ ์ง์์ด ์๋์ ๋คํธ์ํน์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋๊ฒ ์๋๋ค. ๋๋จธ์ง 2๊ฐ๋ ์ ๋ก๋๋ ๋ค์ด๋ก๋์ ์ฌ์ฉํ๋ค. โ ๊ทธ๋ผ ์ด์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ช๋ช ๋ถ๋ถ๋ง ํ๋ฒ ๋ด๋ณผ๊น? (์ฝ๋์ ๋ํ ๋ด์ฉ์ ์ด ๊ธ์ ๋งจ๋์ ์ฒจ๋ถํด ๋์์ด) โญ๏ธ1๏ธโฃ Codable์ ์ฌ์ฉ struct Respon..