ios(86)
-
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (3) - 전략 패턴(Strategy Pattern)
1️⃣ 전략 패턴 (Strategy Pattern)이란?전략 패턴(Strategy Pattern)은 특정 상황에서 사용하는 알고리즘을 캡슐화하여 런타임 내에 변경할 수 있게 해주는 디자인 패턴이다.다시 말해, 사용되는 알고리즘을 별도의 클래스에 배치/분리하여 이 알고리즘 객체를 동적으로 교환할 수 있도록 만드는 패턴이다.특정 상황? 알고리즘? 변경? 전략? 이 말들이 나도 처음에 잘 이해가 되지 않았기에 하나의 예시를 가지고 설명해 보겠다.게임 캐릭터를 만드는 개발 업무를 담당하고 있다고 가정해 보자.해당 캐릭터 클래스에는기본적으로 상대를 공격할 수 있는 attack()이라는 메서드가 포함되어 있다.단, 캐릭터가 같은 공격을 하더라도 "공격 전략(Attack Strategy)"은 여러 개를 사용할 수 ..
2024.02.25 -
[UIKit] 재사용 Component 개발하기 (2) - 팝업창 (Alerts)
[UIKit] 재사용 Component 개발하기 (1) - Toast Message 💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴포넌트(내비게이션바, 바텀시트, 알림 창, 토 mini-min-dev.tistory.com 1️⃣ HIG 살펴보기 : 팝업창(Alerts)이란? 보통 팝업창으로 알고 있는 알림창을 iOS 공식문서에서는 정확하게 Alerts라고 부른다. Alerts는 사용자에게 "중요한 문제를 알리는 용도"로 사용한다. 여기서 말하는 "중요한 문제"란 해당 작업으로 데이터가 파괴될 수 있는 경우, 새롭게 시작하는 혹은 앱 안에서 발생한 어떤 중요한 작업에 대해 사용자에게 알리기 위한..
2024.02.24 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (2) - Delegate Pattern
1️⃣ Delegate가 등장하게 된 이유 Delegate는 "대리자" "위임하다" 같은 뜻으로 번역되는 단어다. "위임하다"의 의미를 구체적으로 들어가보면, "당사자의 일방이 상대방에 대하여 '사무의 처리'를 위탁하고, 상대방이 이를 승낙함으로써 성립하는 것"이라고 한다. 즉, 쉽게 말해 Delegate는 "너가 나 대신 일 좀 해줘!" 라는 의미를 가지고 있는 단어다. (전문용어로 짬 때린다) "본인 일을 본인이 하면 되지 왜 남한테 떠넘겨?" 라고 할 수도 있지만, 사실 이 Delegate가 필요하게 된 상황을 보게되면 공감이 될 거다. 프랜차이즈 햄버거 가게 사장이 되었다고 예시를 들어보겠다. 불고기 버거와 치킨 버거 두 가지 메뉴만 판매하는 가게에서 햄버거 레시피는 우리 가게 프랜차이즈의 특성을..
2024.02.20 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (1) - 싱글톤 패턴(Singleton Pattern)
1️⃣ static : 타입 프로퍼티 (Type Property) 개념 정리Swift의 static 키워드는 인스턴스 생성 여부와 상관없이 무조건 1개의 값만 존재하는 프로퍼티를 선언할 때 사용한다.객체 지향 프로그래밍에서 처음 내가 어렵게 느꼈던 부분은 한 행위 또는 내용물에 대해 여러 표현법을 사용한다는 점이었다.그래서 이 글을 읽는 다른 사람들은 과거의 나 같은 어려움을 느끼지 않았으면 하는 마음에서, 용어를 먼저 정리해보고자 한다.인스턴스 = 클래스 혹은 구조체에서 찍어낸 결과물 = 붕어빵 틀에서 만들어진 붕어빵 = 객체 (매우 중요!)생성 = 클래스 혹은 구조체에서 결과물을 찍어냄 = 변수 또는 상수에 클래스/구조체를 기반으로 한 값을 대입함 = 클래스/구조체에서 비롯된 객체가 메모리에 실제로 ..
2024.02.19 -
[UIKit] 재사용 Component 개발하기 (1) - Toast Message
💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴포넌트(내비게이션바, 바텀시트, 알림 창, 토스트 메시지 등)를 재사용할 수 있도록 만드는 것이었다. 공통으로 반복되는 부분과, 변화가 필요한 부분을 고민해서 모듈화 시킨 과정을 이번 시리즈에서 같이 느껴볼 수 있길 바란다. 1️⃣ Toast Message란? 토스트 메시지(Toast Message)는 원래 안드로이드에만 존재하는 컴포넌트이다. 보통 앱 사용 중, 사용자와의 상호작용은 계속 열어둔 상황에서 동시에 짧은 메시지를 사용자에게 보여주기 위해 사용하는 컴포넌트다. 사용자의 인터랙션이 별도로 없어도 특정한 시간 뒤에 표출, 사라짐 동작이 자..
2024.02.16