iOS 개발을 시작하면서 가장 처음 마주하게 되는 개념 중 하나가 바로 ViewController이다. 화면 하나를 담당하며, 그 안에서 사용자와의 상호작용을 처리하는 중심 역할을 한다.이번 글에서는 ViewController가 어떤 역할을 하는지, 그리고 iOS에서 어떤 순서로 생명주기 메서드들이 호출되는지 정리해보려고 한다. 직접 실습하며 알게 된 내용을 바탕으로, 처음 접하는 분들도 이해하기 쉽게 풀어보았다.ViewController란?앱 내 하나의 화면을 담당하는 컨트롤러화면에 보이는 모든 뷰(UIView, UIButton, UILabel 등)를 관리사용자의 액션에 따라 데이터를 변경하거나 다른 화면으로 전환UIKit의 기본 구성 요소Apple 공식 문서에서는 UIViewController를 다음..
저는 SwiftUI로 iOS 개발을 공부해왔습니다.@State, @Binding, @ObservedObject… 이런 키워드만 있으면 데이터가 바뀌면 UI가 저절로 바뀌는, 말 그대로 마법 같은 환경이 익숙했지만 UIKit으로 넘어오면서 MVVM 패턴을 적용해보려던 순간, 나는 **클로저(Closure)**라는 녀석과 마주쳐 어떠한 역할을 하는지 알아보려고 합니다.SwiftUI에서는 왜 클로저를 안 썼지?SwiftUI에서는 데이터에 @Published만 붙여주면 UI는 알아서 반응한다.class ViewModel: ObservableObject { @Published var title = "Hello"}struct MyView: View { @ObservedObject var viewModel..
UIKit 환경에서 Combine 프레임워크를 활용해 상태를 자동으로 바인딩하는 방법을 배워보려 합니다.. 예제로는 내배캠 iOS 앱 개발 입문 1주차 강의의 Counter 앱을 활용했습니다. 기존에는 Delegate 패턴으로 사용자 이벤트를 처리했다면, 이번엔 Combine을 통해 모델의 상태가 바뀔 때 UI가 자동으로 업데이트되는 구조를 구현해보려 합니다.Combine이란?Combine은 Apple이 WWDC 2019에서 발표한 반응형(Reactive) 프로그래밍 프레임워크입니다. Swift 언어로 작성된 코드에서 다양한 이벤트 스트림(데이터, 네트워크 응답, 사용자 인터랙션 등)을 하나의 방식으로 처리할 수 있도록 만들어졌습니다.Combine은 Swift 개발자가 다음과 같은 상황에서 강력하게 활용..
내배캠 iOS 앱 개발 입문 1주차 강의에서 제공된 Counter 앱을 기반으로, UIKit에서 가장 널리 쓰이는 디자인 패턴 중 하나인 Delegate(델리게이트) 패턴을 학습해보려고 합니다. Delegate 패턴이란?Delegate는 말 그대로 위임이라는 뜻을 가지고 있습니다. iOS에서 Delegate 패턴은 한 객체가 발생시킨 이벤트를 다른 객체에게 처리 위임하는 구조를 의미합니다.Apple 공식 문서에 따르면A delegate acts on behalf of, or in coordination with, another object.- Apple Devpedia - DelegationDelegate 패턴을 언제 사용하나?View는 사용자 이벤트(버튼 클릭 등)를 감지할 수 있지만, 로직 처리까지 ..
안녕하세요 공공돌🧸 입니다. UISlider에 대해 공식 문서를 번역해보면서 알아보겠습니다. 1. UISlider Overview( 개요 ) 슬라이더의 엄지손가락을 움직이면, 그것은 업데이트된 값을 해당되는 액션에 전달합니다. 슬라이더의 모양은 구성할 수 있습니다 트랙과 엄지손가락의 색상을 지정하고, 슬라이더의 끝에 나타날 이미지를 제공할 수 있습니다. 슬라이더를 인터페이스에 프로그래밍 방식으로 추가하거나 Interface Builder를 사용하여 추가할 수 있습니다. 다음 이미지는 UISlider 객체의 구성 요소를 설명하는 데 사용되는 용어를 왼쪽에서 오른쪽으로 표시합니다. 인터페이스에 슬라이더를 추가하려면 다음을 수행합니다 슬라이더가 나타내는 값의 범위를 지정합니다. 적절한 틴트 색상으로 슬라이더의..
안녕하세요 공공돌🧸 입니다. UIButton에 대해 공식 문서를 번역해보면서 알아보겠습니다. 1. UIButton Overview( 개요 ) 버튼을 누르거나 포커스가 있는 버튼을 선택하면 버튼이 연결된 모든 작업을 수행합니다. 텍스트 레이블, 이미지 또는 둘 다를 사용하여 버튼의 목적을 전달합니다. 버튼의 모양은 구성 가능하므로 앱 디자인에 맞게 버튼에 색조를 지정하거나 제목 형식을 지정할 수 있습니다. 프로그래밍 방식으로 또는 인터페이스 빌더를 사용하여 인터페이스에 버튼을 추가할 수 있습니다. 인터페이스에 버튼을 추가할 때 다음 단계를 수행하세요. 생성 시 버튼 유형을 설정합니다. 제목 문자열이나 이미지를 제공하세요. 콘텐츠에 맞게 버튼 크기를 조정하세요. 하나 이상의 작업 메서드를 버튼에 연결합니다...