생명 주기는 왜 알아야하고 중요할까? iOS앱은 현재 상태에 따라서 할 수 있는 작업과 할 수 없는 작업이 결정된다. Foreground 상태의 앱은 화면을 점유하며 사용자의 관심을 끌고 있기 때문에 시스템 자원에 있어서 우선권을 갖게 되고 Background 상태의 앱은 화면을 점유하지 않기 때문에 가능한 적게, 최소한의 작업을 해야한다. 따라서 개발자는 앱의 상태가 변화할 때마다 그에 맞는 동작을 적절하게 수행시킬줄 알아야 한다. 또 앱의 생명 주기를 알아야 개발할 수 있는 기능도 존재한다. 예를 들어 백그라운드 상태에서 노래나 동영상을 재생한다던가, 앱이 화면을 점유하고 있을 때만 타이머를 동작시키는 것 등이 있다. 이렇듯 앱의 생명 주기는 개발자라면 꼭 알아야 할 지식이다. 생명주기 - LifeC..
그동안 학습했던 MVVM, URLSession, URLComponent를 사용해서 각 나라의 주요 도시 날씨를 확인하는 간단한 앱을 만들어 볼 것이다. OpenWeather 예제에 사용한 RestAPI는 OpenAPI인 OpenWeather을 사용할 것이다. OpenWeather Guide 파싱하면 위와 같은 JSON 데이터를 얻을 수 있다. WeatherApp - 앱 설계 디자인 패턴 MVVM UI Only Code 프레임워크 사용하지 않음 API OpenWeather 기능 각 나라별 주요 도시의 현재 날씨를 확인할 수 있음 기타 상수는 Constants에서 따로 관리한다. ❗️ UI 관련 코드는 따로 다루지 않겠다. // Model struct GroupResponse: Codable { let li..
나는 iOS 개발자를 꿈꾸고 있기에 Swift를 공부하고 있고 그 중에서 네트워크 통신에 대해 공부하고 있다. URLSession, URLComponents 등을 사용하기 위해서는 URL이 무엇인지 짚고 넘어갈 필요가 있다고 생각되어서 모르고 사용하는 것과 알고 사용하는 것은 하늘과 땅차이기 때문에 URL도 간단하게 공부해보았다. URL이란? Uniform Resource Locator의 약자로 웹에서 주어진 특정 리소스의 위치를 나타내는 주소이다. 여기서 리소스는 HTML, CSS, 이미지 등이 될 수 있다. ✅ URL의 구성요소 위의 예제 URL을 해석해보면 프로토콜은 https, 호스트 명은 www.seongil.com, 포트번호는 443, 패스는 /search, 쿼리 파라미터는 q=swift이다...
이전 글에서 URLSession의 Life Cycle에 대해서 간단히 다루어봤다. 이번 글에서는 간단한 GET/POST 예제를 통해 URLSession의 Life Cycle을 풀어서 설명해보겠다. 🔄 URLSession Life Cycle 🔄 통신할 URL 객체, Request 객체를 생성하고 설정한다. ⬇️ URLSessionConfiguration을 통해 적절한 URLSession 인스턴스를 생성한다. ⬇️ URLSessionTask를 생성하고, 적절한 Completion Handler나 Delegate 메소드를 작성한다. ⬇️ 생성한 Task 객체를 resume() 한다. ⬇️ Task가 완료되면 Completion Handler 클로저가 실행 된다. URLSession Example - GET ✅..