일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- git workflow
- coordinator pattern
- 픽셀
- 패캠챌린지
- 뉴모피즘
- commit messages
- SWIFT
- 뉴북
- 8 그리드 시스템
- 패스트캠퍼스후기
- 직장인인강
- 아이폰
- git
- commit
- 플랫디자인
- iOS앱개발올인원패키지Online.
- Xcodebuild
- 포인트
- 머티리얼 디자인
- viewDidAppear
- 입력 개수 제한
- 스큐어모피즘
- 디자인 트렌드
- 직장인자기계발
- 코드리팩토링
- Git Tutorial
- 패스트캠퍼스
- commit message
- viewDidLoad
- ios
- Today
- Total
목록iOS (51)
왕논의 연구실
iOS 개발에서 화면 전환을 관리하는 방식은 앱의 유지보수성과 확장성에 큰 영향을 미칩니다.특히 화면 흐름이 복잡해질수록 기존 방식과 Coordinator 패턴의 차이점이 명확해집니다.이번 글에서는 기존 방식과 Coordinator 패턴의 차이를 비교하며,Coordinator 패턴이 화면 흐름 변경을 어떻게 더 쉽게 만드는지를 살펴보겠습니다.1️⃣ 기존 방식의 문제점: 모든 화면에서 직접 pushViewController 호출일반적으로 iOS 앱에서는 pushViewController를 사용해 다음 화면으로 이동합니다.이 방법은 처음에는 간단해 보이지만, 앱이 커질수록 유지보수가 어려워집니다.📌 기존 화면 전환 코드 예제 (메모 앱)class HomeViewController: UIViewControl..
🎯 예제 목표:로그인 → 메인(탭바) → 기능 실행(메모 작성) → 결과 → 홈으로 돌아가기Coordinator 패턴을 적용하여 화면 전환을 효율적으로 관리일반적인 예제 앱으로 만들어 블로그에서 사용 가능하도록 구성🚀 예제 앱 개요📝 메모 앱 예제1️⃣ 로그인 화면 (LoginCoordinator)로그인, 회원가입, 비밀번호 찾기로그인 성공 시 메인 화면(탭바)로 이동2️⃣ 메인 화면 (MainCoordinator)홈(HomeViewController) → 새 메모 작성 기능메모 리스트(MemoListViewController) → 작성된 메모 보기설정(SettingsViewController)3️⃣ 메모 작성 기능 (FeatureCoordinator)새 메모 작성 (NewMemoViewContro..
🔹 Coordinator 패턴이란?Coordinator 패턴은 화면 전환 및 기능 흐름을 별도의 관리 객체(Coordinator) 에게 위임하여ViewController 간의 강한 결합도를 줄이고, 코드의 유지보수를 쉽게 만드는 패턴입니다.이 패턴은 특히 복잡한 화면 전환이 필요한 앱에서 유용하며,모든 화면 이동을 한 곳에서 관리함으로써 유지보수성과 확장성을 높일 수 있습니다.🔹 왜 Coordinator 패턴이 필요한가?iOS 개발에서 화면 전환을 직접 관리하는 방식은 유지보수가 어렵습니다.예를 들어, 일반적인 방식에서는 각 ViewController가 pushViewController 또는 present를 직접 호출하며,새로운 화면이 추가될 때마다 모든 관련 코드를 수정해야 합니다.이로 인해 발생하..
현재 회사 앱은 coordinator 패턴으로 만들어져 있습니다. 그러다보니 ViewController 안에 ViewController가 쌓이는 경우가 많습니다. 코디네이터 패턴에서 백버튼을 만드는데, 자식 ViewController에서 dismiss를 하니 부모 ViewController까지 dismiss 되었습니다. 처음 이 현상을 보았을 때는 이해가 되지 않았습니다. dismiss를 하면 dismiss한 VC와 그 위에 쌓인 VC들이 해제가 되어야하는데, 코드상 상위인 부모 VC가 해제된 걸로 보이니 말입니다. 생각해보면, 자식VC는 present된 것이 아니라 부모 VC의 요소로서 있는 것이므로 자식VC가 해제되기 위해선 부모 VC레벨에서 해제되는 것이 맞는 것처럼 생각됩니다. 그래서 이에 관해 ..

사이즈 클래스란? 처음 아이폰이 나왔을 때는 크기가 하나였습니다. 그래서 화면 디자인 구성하기가 간단했습니다. 그러나 현재는 기종별로 iPhone 크기도 다르고, iPad는 iPhone과 완전히 다른 크기를 가지고 있습니다. 또한, Split View, Slide Over 등 iPad 내에서 화면의 크기를 다르게 만드는 기능도 있습니다. 그래서 애플은 화면의 크기를 크게 두가지 범주에서 나누어 구분하도록 하였습니다. Compact : 제약이 적용된 공간. 제약이 적용되어서 화면을 다중으로 띄우거나 나눌 수 없습니다. Regular : 제약이 없는 공간. 화면을 다중으로 띄우거나 나눌 수 있습니다. 그래서 기기마다 너비와 높이에 compact, regular 클래스가 있습니다. 위 사진에서 아이패드는 re..

iOS 화면을 만드는데 있어서 화면에 따라서 구성을 다르게 해야하는 경우가 있다. 특히, 아이폰과 아이패드를 동시에 만들 때, 어느 걸로 사용하냐에 따라서 화면을 만드는데 고민을 해야하는 경우가 생긴다. 이렇게 화면 크기에 따라 뷰를 구분해서 만드는 방법을 정리해보았다. 1. 사이즈 클래스로 구분해서 따로 만들기 기기별로 regular/compact 사이즈라는 것이 있다. 이것에 대해서 자세한 것을 따로 작성하겠다. 간단히 말해서 사이즈를 제한해놓은 크기를 compact, 사이즈를 제한하지 않은 것이 regular이다. 이것은 기기의 다양화, 아이패드의 split등 화면 크기가 변화할 수 있는 가능성이 많아짐에 따라 애플에서 구분하게 되었다. 그래서 화면의 높이나 너비가 compact냐 regular냐에..