오늘은 RxSwift의 Observable, 연산자 사용 및 구독을 이용하여 API를 요청, 응답 데이터를 View에 렌더링하는 과정을 연습해보도록 하겠습니다. 오늘 예제 앱 개발에 사용되는 API는 아래 사이트의 open Weather API를 사용합니다. 사이트 가입 후, 개인 API Key를 발급 받아서 API 요청 URL 주소로 사용하시길 바랍니다. Weather API - OpenWeatherMap Please, sign up to use our fast and easy-to-work weather APIs. As a start to use OpenWeather products, we recommend our One Call API 3.0. For more functionality, please..
안녕하세요. 오늘은 iOS의 Combine framework에서 제공하는 Publisher와 다양한 이벤트 연산자를 통해 비동기 이벤트를 처리하는 방법을 알아보겠습니다. Open Weather API를 요청하여 응답을 받는 과정을 진행해보려고 합니다. 텍스트필드에 city 명을 입력해서 온도, 습도 데이터를 받아오는 예제입니다. (debounce 연산자를 사용해서 타이핑이 끝난 이후 결과값을 1회 받아옵니다.) * Combine은 이벤트 처리 연산자들을 사용하여 비동기 이벤트를 처리할 수 있도록 해주는 프레임워크입니다. 사용할 Weather Open API 무료로 사용 가능한 Open API를 사용하여 Combine을 통한 비동기 이벤트 처리를 할 생각입니다. 아래 사이트에서 가입 후, 개인 API키를 ..
iOS앱에서 인앱 웹뷰가 아닌 외부 웹페이지로 이동 시키고자 할때가 있습니다. 특정 URL 웹페이지로 이동하는 코드를 구현해보겠습니다. UIKit, SwiftUI 모두 동일하게 사용가능한 기능입니다. 바로 가보겠습니다. iOS 앱에서 URL 사용하여 웹페이지 이동하는 방법 알아보기 URL String 정의하여 URL struct 생성하기 이동한 URL을 생성하기 위해 먼저, 이동한 URL 주소 문자열을 정의해줍니다. 이후, 실제 URL 이동에 사용할 URL struct를 생성합니다. URL 생성자는 다양한 종류가 있지만, 이번에는 string 레이블을 사용하는 생성자를 사용하면 됩니다. 앞서 정의한 String 문자열을 생성자에 넣어서 URL을 반환해줍니다. 이때 URL은 옵셔널(Optional) 타입으..
SwiftUI로 iOS개발을 하다보면 UIKit을 사용했을때 처럼 키보드로 편집을 하다가 빈 공간을 터치할때 키보드를 내리도록 하고 싶을 때가 있습니다. 보통 터치를 끝냈을때 빈 뷰를 터치하면 키보드가 내려가도록 구현하곤 하기 때문에 이때 키보드가 내려가지 않으면 어색할 수가 있죠. 이때 간단하게 SwiftUI에서 빈 공간(TextField 이외의 빈 View 공간)을 터치하여 키보드를 내리는 방법을 알아보겠습니다. SwiftUI TextField 이외 빈 View 공간 터치로 키보드 내리는 방법 1) View Extensioin 메서드 구현 후 사용하기 View extension 을 만들어서 텍스트 필드 편집이 끝났을때 위와 같이 UIKit에서도 활용하는 resignFirstResponder 메서드를 ..
- Total
- Today
- Yesterday
- swift문제
- Protocol
- 스위프트
- ios
- uikit
- swift string
- swift 문자열
- 프로그래머스
- 김프매매
- Swift 알고리즘
- swift
- 컬렉션
- publisher
- SwiftUI
- CoreML
- swift언어
- Collection
- 자연어처리
- createML
- 백준swift
- 알고리즘
- swift알고리즘
- 부스트코스
- 백준알고리즘
- swift 기초
- 개발자문서
- 알고리즘문제
- 프로그래머스swift
- 프로토콜
- swift reduce
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |