 Apple Lover Developer & Artist

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

반응형

IOS 22

[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 앱 설계 퓨전 레시피 9부 - View 디자인

Overview 스토리보드에서 정의한 앱의 흐름에서 View 디자인을 구체화시켜본다. Pattern 프로젝트에서 사용할 View의 정의 패턴을 소개한다. TableView Cell UIKit이 제공하는 표준 스타일의 셀을 사용한다. Basic, Subtitle, Right Detail, Left Detail 총 4가지 레이아웃을 제공한다. 표준 레이아웃의 프로퍼티를 커스텀하여 빠르게 TableView Cell을 만들 수 있다. TableView Cell의 생성하기 위해 Identifier를 부여한다. Identifier는 성능상의 이유로 TableView가 재사용 메커니즘을 활용해 Cell을 생성할 수 있도록 돕는다. Layout 기본적으로 오토 레이아웃을 활용한다. View를 정밀히 조정해야 할 때 오..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 8부 - 데이터 바인딩

Overview MVC 아키텍처에서 Model의 데이터를 View에 바인딩시키며 생산성 향상을 위해 활용할 수 있는 테크닉을 생각해 본다. Controller MVC 패러다임에서 Controller는 Model과 View의 상호 작용을 중재해 주는 역할을 했다. 모델의 데이터를 View에 불러오는 것과 View에서 발생한 다양한 종류의 이벤트를 해석해서 모델을 조작하는 것 모두 상호 작용의 예이다. ViewController UIKit에서는 ViewController가 핵심적인 역할을 한다. MVC에서 Controller 역할을 하면서도 View를 핸들링하는데 초점을 두고 있기 때문이다. Controller와 View 역할이 결합되었기 때문에 코드 관리에 신경을 써줘야 한다. 이번의 경우 ViewCont..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 7부 - 네트워킹 코드 모델링

Overview 음식점 서버 API와의 네트워크 통신 기능을 구현해 보고 공통 작업을 추상화시킨다. 들어가기 앞서 Swift Concurrency, Protocol, Generic 개념을 활용하고 있기에 이를 익히고 보면 포스팅을 재미있게 즐길 수 있다! Networking Common Process 서버 API를 활용해 클라이언트가 데이터를 요청하고 응답받을 수 있도록 도와주는 객체가 있다. Foundation 프레임워크의 URLSession 이 그 주인공이다. Fetching Website Data into Memory- Apple Developer 아티클을 통해 URLSession을 활용하여 통신 코드를 작성하는 예시를 확인할 수 있다. 쉽게 말하자면 통신 코드가 구현하는 작업은 크게 3가지로 구분..

반응형