Swift - Queue
·
알고리즘/자료구조 개념
Queue 란? Queue 자료구조를 그림을 통해 이해해 보자 각 아이템들이 들어간 순서대로 나오는 구조를 이야기한다 First In First Out ( FIFO ) Swift 에서 Queue 구현 구조체로 Queue를 선언한 코드를 먼저 살펴보자 // Queue 선언 struct Queue { private var elements: [T] = [] public var count: Int { return elements.count } public var isEmpty: Bool { return elements.isEmpty } public mutating func enqueue(_ element: T) { return elements.append(element) } public mutating func..
URLSession 실습(3) - 데이터 파싱
·
iOS/iOS 개념
멈춰!!! 선행 학습이 필요한 글이니 앞선 글들을 읽고 학습해보자! URLSession 이란? URL 생성하기 URLSession 적용하기 Codable 개념 파악하기 선행학습을 끝냈으니 드디어 API를 통해 원하는 데이터를 가져와보자잇! Codable 프로토콜을 채택한 구조체 선언 우선 구조체를 정의하기 전에 API를 호출했을때 데이터가 어떻게 날아오는지 먼저 확인하자 주소창에 API 호출 주소를 입력하고 표시된 내용을 복사하여 https://jsonlint.com 이곳에서 확인해보자 내용을 확인해보니 위와 같은 데이터로 Json 형태가 호출된다 여기서 [ 평점, 제목, 줄거리, 포스터 경로 ] 네개만 일단 받아와 보자! struct Response: Codable { let page: Int? let..
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..