Codable 을 알아보자
·
iOS/iOS 개념
공식문서 정의 개요 A type that can convert itself into and out of an external representation. → 외부 표현으로 전환할 수 있는 유형 정의 typealias Codable = Decodable & Encodable 내용 Codable is a type alias for the Encodable and Decodable protocols. When you use Codable as a type or a generic constraint, it matches any type that conforms to both protocols. → Codable은 Encodable 및 Decodable 프로토콜의 typealias입니다. Codable을 사용하면..
URLSession 실습(2) - URLSession 적용
·
iOS/iOS 개념
생성한 URL을 통하여 URLSession 을 통해 데이터를 받아와보자 이전 내용 반드시 보고오기! URLSession 의 개념 URL 생성 하는 방법 API 실습을 하기에 앞서 실습하고 싶은 API를 구해야 한다 본 글에서는 TMDB 를 사용하여 영화를 검색한 결과를 불러온다 사용하고자 하는 API의 호출 구조를 잘 파악하고, Query 내용도 파악해야 한다 URL 생성하기 let API_KEY = "발급받은 API Key 정보 입력" var movieSearchURL = URLComponents(string: "https://api.themoviedb.org/3/search/movie?") // 쿼리 아이템 정의 let apiQuery = URLQueryItem(name: "api_key", valu..
URLSession 실습(1) - URL
·
iOS/iOS 개념
URL 생성 let urlString = "https://ai-hong.tistory.com/213?category=911246" let url = URL(string: urlString) // URL의 String 값 "https://ai-hong.tistory.com/213?category=911246" url?.absoluteString // URL의 네트워킹 방식 "https" url?.scheme // 기반이 되는 주소 "ai-hong.tistory.com" url?.host // URL의 디렉토리 "/213" url?.path // URL의 쿼리값 "category=911246" url?.query // 기반이 되는 URL nil url?.baseURL 다음과 같은 프로퍼티들을 이용하여 URL..
URLSession - 이론
·
iOS/iOS 개념
API를 호출하기 위한 방법을 찾던 중, Alamofire 라이브러리가 있지만 라이브러리 말고 스스로 적용해서 불러오는 방법에 익숙해진 후 라이브러리를 사용하는게 좋을거 같다고 판단하여 관련 내용을 정리 URLSession URLSession 은 위 사진과 같은 구조를 갖는다 URLSessionConfiguration 을 통해 URLSession을 결정한후, Session을 생성 Delegate는 URLSession 통신의 중간 과정이나 통신 종료 후 같은 이벤트를 확인할 때 주로 사용 URLSessionConfiguration을 통해 Session 을 설정하면 URLSessionTask 로 보내 통신을 시작 URLSessionConfiguration URLSessionConfiguration의 종류에 ..
Concurrent 동시성
·
iOS/iOS 개념
Concurrent (동시성) 이란 무엇인가? 앱의 로직 내에서 특정 부분이 동시에 또는 임의 순서대로 실행되기 위해 필요한 개념 앱의 전반적인 효율성 측면에서도 필요하지만, 앱을 사용하는 유저에게도 일관적인 UI를 그리기 위해서도 필요한 개념 ⇒ 네트워크 통신을 통해 어떠한 리소스를 다운받는 동안 동시성을 적용하지 않아 유저가 비어있는 화면만 바라보게 된다면 지루함을 느끼고, 짜증을 유발할 수 있다, 이때 동시성을 적용하여 네트워킹을 통해 리소스를 다운받는 동안 유저에게 특정 뷰를 그려주면 유저 입장에서도 매우 좋다 데이터 흐름을 정확히 유지하는 것이 중요하기 때문에 동시에 이루어지는 두 작업이 하나의 데이터를 조작하면 안됨 GCD (Grand Central Dispatch) DispatchQueue ..