 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

combine 4

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 12부 - Order

Overview 음식점 서버에 주문서를 전송한다. Timer와 Combine API를 활용하여 Progressive Bar 인터페이스를 갱신해 본다. 페이지 전환 방식으로써 모달을 사용해 본다. Order Confirmation Order 앱은 음식점 서버에 주문을 넣을 수 있다. Order 주문서에는 음식 메뉴 아이템으로 구성되어 있는다. 음식점 서버는 음식 메뉴 아이템에 따라 준비시간이 다를 수 있다. 서버의 역할은 사용자의 주문이 들어올 때마다 음식이 준비될 때까지 필요한 시간을 계산하여 사용자에게 알려주는 것이다. 이전에 준비해 둔 스토리보드에는 Order Confirmation이라는 화면 페이지가 있었다. 이 화면의 역할은 음식점 서버가 알려준 음식 준비 시간과 주문을 넣은 시간을 기준으로 현재..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 11부 - 주문서 개발

Overview 사용자가 레스토랑에 음식을 주문할 수 있도록 기능을 개발한다. Notification, Timer 등의 비동기 처리를 구현할 때 Combine이 제공하는 통합된 API를 사용해본다. Prerequirement 콤바인 API의 개념과 Swift Concurrency의 사전 지식이 요구된다. 다음의 공식 문서 정리 포스팅을 참조하면 좋을 것이다. [WWDC2019] Introducing to Combine [Swift] 공식문서 씹어먹기: Concurrency 주문서 기능 사용자는 레스토랑에서 판매하는 음식 메뉴를 볼 수 있다. 앞선 포스팅 처럼 카테고리별로 분류된 화면을 전환하며 자신이 원하는 음식 메뉴를 찾을 수 있다. 원하는 음식 메뉴를 찾으면 해당 아이템을 선택하여 세부 정보를 확인할..

[WWDC2019] Introducing to Combine

Overview A unified declarative API for processing values overtime. - WWDC2019 "Introducing Combine 발췌" 앱 개발 과정에서 비동기 프로그래밍을 사용할 때가 많이 있다. 예를 들어 Target-Action, Timer, KVO부터 URLSession을 활용한 네트워크 통신 과정에서 컴플리션 핸들러를 활용하기도 한다. 때로는 이들을 결합해 새로운 기능을 개발해야 할 수 있는데 쉽지 않았다. Combine은 이들간의 공통 분모를 찾게되었으며 "시간이 지남에 따라 값을 처리하기 위한 통합된 선언적 API"를 개발하게 되었다. 특징 Generics 콤바인은 Swift로 작성되었다. 즉, Generics과 같은 Swift 기능을 사용할 ..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 3부 - 책임의 밀당

Overview UIKit 애플리케이션의 기본 개발 패턴은 Cocoa MVC였다. 대표적으로 View Controller와 같이 책임이 결합된 경우를 생각해 볼 수 있다. 이때, 개발자가 코드를 잘 못 디자인하면 한 객체의 책임이 커져버리는 문제가 생긴다. 코드를 리팩터링 하기 위해 역할과 책임을 다시 나눠본다. Problem objc.io 사이트의 Ash Furrow 님이 작성하신 Introduction to MVVM 자료를 인용하였다. Cocoa MVC에서 활용되는 결합된 역할의 대표 사례인 View controller는 UIKit 어플리케이션에서 주요하게 사용되는 클래스이다. Cocoa MVC를 UIKit 애플리케이션의 실제 클래스 다이어그램 구조로 표현하면 다음과 같다. ViewController..

반응형