목록분류 전체보기 (284)
기어가더라도 제대로

지난번 Xib 파일에 선언된 UIView를 불러오는 글에 이어서 UIViewController를 불러오는 일을 하려함2025.01.26 - [UIKit 기초] - [UIKit-기초] Xib에서 코드로 UIView 파일을 불러오기UIStoryboard: UIViewController들의 선언과 플로우를 볼 수 있는 파일UIViewController의 편집에 적합하다고 생각Xib: Xcode Interface Builder의 약자로 UI를 그리는데 사용UIView 등의 커스텀한 버전을 꾸미는데 적합Nib: Next Interface Builder의 약자로, Xib의 이전 버전참고로 Next는 스티브 잡스가 애플에서 쫓겨났던 시기에 만든 컴퓨터 회사이름UIStoryboard로 UIViewController를 ..

현재 진행중인 프로젝트가 UIKit 베이스에 새로 추가되는 화면은 SwiftUI로 구현을 하고 있는데, 이 때 가져갈만한 UI 패턴을 뭘로하기가 적당할까 고민이 들었다. UIKit으로만 이루어진 프로젝트라면, Input-Output 구조를 가진 MVVM을 사용했을텐데, 새로운 SwiftUI 환경에서 적합하게 사용하기가 어려웠다. (@Published 프로퍼티 래퍼를 어떻게 해야 좋단말인가..) SwiftUI는 상태의 변화에 집중하는 시스템이니까 State를 가지고 그 상태를 변화를 감시하는 구조를 찾아 정리한다. 만드려는 것 간단한 카운터 앱+ 버튼을 누르면 1 더하기- 버튼을 누르면 1 빼기 ViewModel 구현ViewModel을 해도 어떤 뷰모델을 사용하겠다 명확하게 프로토콜로 인터페이스를 구성해준..

MVVM에서 Input과 Output을 나누어서 명확하게 통신하고 유지보수하기 용이하게 명령과 실행에 대한 호출을 주는 방법Input, Output Input: UI의 이벤트나 특정 사건에 대응하는 인터페이스Output: 그러한 처리를 통해서 완료되었다고 알려주는 인터페이스장점: 어떤 동작이 실행되는지 한눈에 파악 가능단점: 작은 프로젝트의 경우 보일러 플레이트 코드가 있을 수 있음단점이라 하긴 어려운데, 저마다 통일된 형태가 있진 않아서 사람마다 구현 방식이 조금 다른 것이 특이점이번 글에서는 테이블뷰의 행에 랜덤 숫자를 fetch 해와서 보여주는 작은 프로젝트를 구현하면서 해봄오토레이아웃 편의를 위해 SnapKit을, 객체 선언 편리함을 위해 Then을 사용 구현 - VIEWMODELViewModel..