1. 대리자 디자인 패턴
-대리자 패턴은 ios 개발에서 자주 사용되는 유명한 디자인 패턴으로 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공한다.
-[iOS 앱 개발 - Swift] Delegation Design Pattern (tistory.com)
-Swift :: delegate패턴 알아보기 :: 상어의 개발 블로그 (shark-sea.kr)
-delegate 패턴 (with swift) (tistory.com)
2. 프로토콜과 대리자의 실전
-advancedlifesupport : 사람들을 구하기 위해 꼭 숙지해야 하는 응급조치설명서이다. 대리자들은 모두 이 프로토콜을 숙지하고 있어야 한다. ex) struct paramedic : advancedlifesupport
emergencycallgandler : 응급 전화를 받는 사람으로 전화를 받고 삐삐를 통해 대리자들에게 응급환자와 임무를 전달한다.
paramedic, doctor 등 : 삐삐를 가지고 다니며 응급 환자들을 조치하는 사람으로 대리자 임무를 수행하는 사람들이다. handler의 대리임무를 자신이 맡겠다는 코드를 작성해야 한다. ex) handler.delegate = self
-함수를 재정의할 때 super.기존함수( )를 적고, 새로운 함수를 정의하면 기존 함수의 내용은 상속받으면서 추가로 새로운 함수를 포함하여 재정의한다는 뜻이다.
3. openweather API 및 URL 매개 변수 이해
-API란 Application Programming Interface의 약자로 commands, functions, protocols, and objects의 집합이다. API를 통해서 소프트웨어를 만들거나, 외부 시스템과 상호 작용할 수 있다. 그리고 API는 개발자들이 공통으로 수행하기 위한 표준 명령을 제공한다.
-식당으로 비유하자면 고객(클라이언트)이 주방(서버)에다가 원하는 요리(데이터)를 주문하기 위해서 웨이터(API)를 불러 쉽게 주문하는 것이다.
-API는 개발자와 API 공급자 간의 계약이라고 할 수 있다. 우리가 날씨 프로그램을 개발할 때 전 세계 모든 위치에 대한 데이터, openweather지도 API를 사용해야 한다.
-우리가 UItextfield를 통해 도시 이름을 적으면 API를 통해 openweather에서 도시 이름의 날씨 데이터를 우리의 앱에 보내준다.
-https://api.openweathermap.org/data/2.5/weather?q=london&appid={API key} //q는 도시이름을 적으라는 뜻
위의 주소로 이동해보면 런던의 날씨에 대한 데이터가 나와있다. 하지만 온도를 보면 섭씨, 화씨로 표현하지 않아서 이해하기 쉽지않다. openweathermap의 측정단위에 대한 설명을 읽어보면 온도는 기본적으로 켈빈단위로 표현되기 때문에 우리가 원하는 측정단위로 바꾸기 위해서는 units = metric 이나 units = imperial 을 사용해야 한다.
-json viewer awesome을 깔면 원하는 날씨 데이터를 얻을 때 보기 편한 나무구조로 변환시켜준다.
'개린이 이야기' 카테고리의 다른 글
2022년 04월 04일의 이야기 (0) | 2022.04.04 |
---|---|
2022년 03월 22일의 이야기 (0) | 2022.03.22 |
2022년 03월 15일의 이야기 (0) | 2022.03.15 |
2022년 03월 10일의 이야기 (0) | 2022.03.11 |
2022년 03월 07일의 이야기 (0) | 2022.03.07 |