IOS application 46

9. Keyboard

Simulator을 실행하면 TextBar혹은 SearchBar에서 키보드가 등장하지 않는 경우가 발생한다. simulator에서 Connect Hardware Keyboard를 선택하게 되면 내 컴퓨터의 키보드를 실제 앱 창에서 사용할 수가 있다. Toggle Software keyboard를 선택하게 되면 시뮬레이터 상의 키보드를 껏다 켰다를 가능캐 해준다. 시뮬레이터 상의 키보드를 등장시키고 싶으면 이를 한번 선택하면 된다. 끌때도 한번 선택하면 된다.

8. Tabbar, SafeArea, collectionView 설정

Storyboard Tabbar Controller initial 우리는 ViewController이 실행되면 home에서 시작되도록 해야하고, 이때 적절한 초기화 작업이 필요하다. 간단하다 --> Tabbar Controller을 "Is initial View Controller"을 체크해주면 된다. SafeArea 현재 위의 View에서는 사진이 SafeArea를 넘어간 것을 확인할 수 있다. 어떻게 하면 이런 설정이 가능할까? 현재 HomeView는 다음과 같은 구조로 되어있다. img_header은 View에 존재하고 View는 Scroll View 과 vertical spacing 을 0으로 맞추어서 scrollView의 top을 따라가게 된다. 그러면 Scroll View의 Second Ite..

7. Swift Escaping Closure ?? 😁

Swift Escaping Closure ?? 참고자료 Apple Inc. The Swift Programming Language (Swift 3.1) - Escaping Closure escaping closure swift3 What do mean @escaping and @nonescaping closures in Swift? Completion handlers in Swift 3.0 https://hcn1519.github.io/articles/2017-09/swift_escaping_closure Swift Escaping Closure 이해하기 Swift의 Escaping Closure에 대해 알아봅니다. hcn1519.github.io https://medium.com/@jgj455/%EC%..

10. URLSession 실습 3

이번엔 원하는 데이터를 내가 원하는 데이터를 Struct의 Property로 받아올 것이다. 당연히 json파일을 받아올 것이기에 Codable을 이용할 것이다. url을 뽑아내는 과정은 이전과 같다. 우선 URLSessionConfiguration을 default로 생성하고 이를 통해 URLSession을 생성한다. 그럼 session으로 실제 네트워킹을 하는 URLSessionTask를 생성할 텐데, 이때 보낼 request url을 만들면 된다. 영어가 아닌 term으로 검색하기 편하게 알아서 incoding 과정을 해주는 URLComponents를 생성한 한다. URLComponenets는 data를 optional로 저장하기에 URLComponents를 변수에 넣을 때와 url을 받아올때는 op..

9. URLSession 실습 2

사진을 클릭하면 확대된다. 주석으로도 정리가 되어있지만 한번더 정리해보자(주석 읽고 이것도 읽기를 권장한다.) 이번에는 실제 네트워킹으로 데이터를 가져와서 이용하는 방법에 대해 실습해볼 것이다. 지난 지산에 URLSession으로 URL을 구성하고, 여기서 필요한 property와 query, incoding, URLComponents에 대한 개념을 배웠다. 우리는 IOS 에서 Networking을 작업할 때 URLSession을 사용한다. URLSession을 만들기 위해서는 URLConfiguration을 3가지 네트워킹 자체 방식을 어떻게 할 것인지에 따라 생성해야하고 URLSession을 만들어야한다. 그리고 실제 네트워킹을 하는 것은 URLSessionTask이다. 이때 어떤 Type의 Task..

8. URLSession 실습1

클릭하면 크게볼수 있다! property of URL baseURL 지정 URLComponents를 통한 URLQueryItem 추가 termQuery에서 "지드래곤"이라는 영어가 아닌 언어를 사용했다. 그렇게 되면 에러가 발생한다. 컴퓨터가 언어를 이해하지 못하기 때문이다. 이럴때는 incoding이라는 작업이 필요하다. 하지만 URLComponents를 이용하게 되면 Query문을 각각의 Item에 넣어 추가를 하게 되고, 이러한 과정에서 알아서 인코딩을 해준다. 쉽게 말하면 영어말고 다른 언어를 쓰고 싶고, 인코딩하기 귀찮으면 URLComponents는 강력한 무기가 된다.

7. URLSession 개념

URLSession 개념 앱과 서버간의 데이터를 주고 받을 때는 HTTP라는 통신규약으로 주고 받는다고 했다. 실제 IOS 앱에서는 HTTP를 이용한 Networking를 어떻게 할까?? —> URLSession 여기서 헷갈릴 수 있으니 한번 더 강조하자면, IOS에서 네트워킹을 하기 위한 클래스는 URLSession이다. URLSession을 통해 네트워킹을 하려면 서로간의 약속이 되어있어야 하는데 이러한 통신 규약이 HTTP이다. 네트워킹을 할 때 효율적으로 네트워킹을 하기 위해 동시성이라는 개념을 이용하는데, 이때 사용하는 것이 GCD 이다. URLSession API IOS에서 네트워킹을 하기 위해서는 URLSession이 필요하다. URLSession은 URLSessionConfiguration..

5. DispatchQueue는 어떻게 사용할까?

DispatchQueue는 어떻게 사용할까? DispatchQueue는 어떻게 사용할까? https://medium.com/nbt-tech/dispatchqueue%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C-44f22f08d62 DispatchQueue는 어떻게 사용할까? 안녕하세요. 오늘은 iOS Dispatch Queue를 어떤 상황에 사용해야 하는지 알아보려합니다. Dispatch Queue를 이용하면 많은 이점이 있다는 것은 알고 있지만, 정작 사용된 모습을 찾아보기는 힘들었습니다 medium.com 해당 게시판의 글을 참고하여 정리하였다. GCD (Grand Central Dispatch) GCD는 Appl..

4. GCD (Grand Central Dispatch)

GCP (Grand Central Dispatch) 거대한 중심이되는 부분,조각?? IOS 개발 시 Concurrency(동시성)을 제공해 주기 위해서 우리가 사용할 수 있는 API는 GCD있다. --> IOS 가 네트워킹을 하기 위해 사용하는 것이 URLSession 이다. --> 네트워킹 과정에서 동시성 기능을 구현 가능캐 하는 것이 GCD 이다. 애플에서는 GCD를 다음과 같이 설명한다. Guarantee: 굳은약속, 보증서, 보증하다 해야할 일들을 만들어 GCD에 넘기면 시스템에서 알아서 Thread를 할당해서 안전하게 수행 시켜준다!! 그 해야할 일은 Code Block을 의미한다. 즉, Code Block를 GCD에 넘기면 알아서 수행해준다~~ GCD는 FIFO queue를 관리하고 제공한다...