TIL

[iOS]2025.04.17 TIL

ioskkt 2025. 4. 17. 21:21
class NetworkService {
    let scheme: String = "https"
    let host: String = "reqres.in"
    let path: String = "/api/login"
    
    let method = "POST"
    let headers = ["Content-Type": "application/json"]
    
    private func makeURL() -> URL? {
        var components = URLComponents()
        components.scheme = scheme
        components.host = host
        components.path = path
        return components.url
    }
    
    private func makeRequest() -> URLRequest? {
        
        guard let url = makeURL() else { return nil }
        var request = URLRequest(url: url)
        request.allHTTPHeaderFields = headers
        request.httpMethod = method
        return request
    }

URLSession을 사용하는 NetworkService 클래스를 만들고 모달뷰에서 사용하는 구조로 코드를 짜야함.

 

그래서 클래스 안에 기본 인스턴스를 선언해주고, 그 인스턴스를 가지고 URL을 만들고 Request를 만들어 줬다.

 

메서드가 계속 물고들어가는 방식으로 구현함.

 

이 다음 메서드에서도 위 메서드를 물고가는 방식으로 구현할 예정인데,

 

URLSession을 생성하고, Task를 만들어야 함.

 

let session = URLSession(Configuration: .default)
session.dataTask(with: request) { data, response, error in
//URLSession 인스턴스를 만든 다음, Task를 만듦

let session = URLSession.shared.dataTask(with: request) { data, response, error in
// shared 타입 프로퍼티를 사용해서 한줄로 정리

 

서버 데이터를 불러오는 메서드를 구현하는 중인데 개념 정리부터 차근차근 해봐야겠음...

'TIL' 카테고리의 다른 글

2025.05.19 트러블 슈팅(RxSwift 개인과제)  (0) 2025.05.19
[iOS]2025.05.12 RxSwift  (0) 2025.05.12
[iOS]2025.05.08 URLSession, Alamofire  (0) 2025.05.08
[iOS]2025.04.15 TIL  (1) 2025.04.15
[iOS] 2024.04.14 TIL  (0) 2025.04.14