ios(113)
-
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (8) - 어댑터 패턴(Adapter Pattern)
1️⃣ 어댑터 패턴(Adapter Pattern)이 뭐야?💡 어댑터 패턴(Adapter Pattern)은 서로 호환되지 않던 인터페이스(protocol)를 변환시켜 함께 작동할 수 있도록 만드는 구조 패턴(Structural Pattern)이다.위의 말이 무슨 말인지 잘 이해가 안된다면 아래와 같이 이해해 보는 건 어떨까?기존에 사용하고 있던 규격이 이미 있는 상황에서, 새롭게 사용하려는 시스템의 규격이 기존 규격과 맞지 않는다면? -> 어댑터(Adapter)라는 변환 도구를 중간에 두어 기존 규격과 새로운 규격을 함께 사용할 수 있도록 만드는 것이 바로 어댑터 패턴이다.어댑터 패턴에서 반복적으로 사용하는 용어는 아래 네 가지다.Target (Interface = Protocol) : 기존 시스템이 사..
2024.08.05 -
[Swift] 자네 열거형(enum)을 CaseIterable로 사용해본 적이 있는가?
CaseIterable | Apple Developer DocumentationA type that provides a collection of all of its values.developer.apple.com혹시 Swift 코드에서 선언된 열거형(enum)을 보다가 CaseIterable이라는 키워드를 본 적이 있나?CaseIterable을 직관적으로 해석해보면,Case(열거형의 각 case) + Iterable(반복 가능한)의 합성어로 "열거형의 각 case를 반복 가능하게 사용할 수 있다"라고 해석된다.이란 말이 조금 부자연스러워서 다르게 해석해 보면, Iterable을 , = 즉, 열거형의 각 Case를 Sequence Data의 형태로 사용할 수 있다는 것을 의미한다고 해석하면 더 와닿을 수..
2024.08.05 -
[iOS] Clean Architecture + MVVM + Observable 사용해서 날씨앱 리팩토링하기
⚠️ 해당 글은 Robert C. Martin의 너무도 유명한 책과 Oleh Kudinov라는 분의 Medium 글 Clean Architecture and MVVM on iOS를 참고해서 작성했습니다.번역 또는 프로젝트의 목적, 그리고 저의 부족한 이해력 때문에 일부 잘못된 내용이 있을 수 있다는 점. 전제하고 읽어주시면 감사하겠습니다 (잘못된 개념 제보 및 질문 댓글로 얼마든지 환영입니다:) ^__^ + 아 그리고 글이 조금 깁니다...어쩌다보니.. GitHub - mini-min/Clean-Architecture-iOS: 🍎 날씨앱 클론코딩으로 공부하는 클린 아키텍처 (feat. Robert C. Ma🍎 날씨앱 클론코딩으로 공부하는 클린 아키텍처 (feat. Robert C. Martin) - ..
2024.07.28 -
[UIButton] UIButton의 모든 것! (UIButtonConfiguration, ConfigurationUpdateHandler, UIAction)
1️⃣ HIG (Human Interface Guidelines) 살펴보기 : Button이란?Button은 앱에서 사용자가 어떤 특정한 동작이나 작업을 시작하는 방법을 제공하는 가장 기본 중에 기본이 되는 Component다.가장 기본이 되는 Component이다 보니 HIG에서는 버튼을 사람들이 사용하기 쉬우며, 버튼의 목적이 직관적으로 드러나야 한다고 설명하고 있다. (최소 44 x 44 이상의 히트 영역을 권장 + 텍스트나 심볼을 (동시 또는 필요에 따라) 사용할 수 있다.)일반적으로 버튼은 세 가지 속성(Style + Content + Role)을 결합해서 사용자에게 그 기능을 명확하게 전달하게 되는데, 자세한 내용은 아래와 같다.1. Style : 버튼 사이즈, 색상, 모양(shape)을 기반..
2024.07.24 -
[UIKit] 재사용 Component 개발하기 (3) - 바텀 시트 (Sheets, Bottom Sheet)
[UIKit] 재사용 Component 개발하기 (1) - Toast Message💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴포넌트(내비게이션바, 바텀시트, 알림 창, 토mini-min-dev.tistory.com [UIKit] 재사용 Component 개발하기 (2) - 팝업창 (Alerts)[UIKit] 재사용 Component 개발하기 (1) - Toast Message 💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는mini-min-dev.tistory.com 1️⃣ iOS..
2024.07.16