해당 코드를 ScrollView 하위 뷰에 적용을 하면 화면 전체를 클릭하여 스크로 할 수 있다.ScrollView는 기본적으로 수직이지만, 첫 번째 매개변수로 .horizontal을 전달하여 수평 축으로 바꿀 수 있다.ScrollView의 showsIndicators
ScrollViewReader는 스크롤링이 감지되거나 자동으로 위치 이동이 필요할 때 사용하는 뷰로써, ScrollViewProxy라는 것을받아서 스크롤 기능을 수행할 수 있도록 해주는 뷰입니다.위의 예제는 공식문서에 작성되어 있는 예제 코드입니다.ScrollViewR
ObservableObject 프로토콜은 데이터 모델과 뷰 간의 데이터 흐름을 제어하기 위한 프로토콜 입니다.공식 문서에 나와 있는 글을 번역하면 다음과 같습니다.“객체가 변경되기 전에 방출하는 게시자가 있는 객체 유형입니다.”한번에 와 닿지는 않지만 차근차근 알아가
공식문서를 보면 속성을 게시하는 유형이라고 되어 있습니다.Published는 SwifUI와 Combine 프레임워크와 함께 사용되는 property wrapper 중 하나로, 프로퍼티를 관찰 가능한 속성으로 만들어주는 역할을 합니다.@Published를 붙여 만들면 이
StateObject는 이전 포스팅에서 다룬 ObservedObject처럼 관찰 가능한 객체를 생성해주는 속성 래퍼 유형입니다.이 두 래퍼는 비슷해 보이지만 중요한 차이점이 존재합니다. 이 글에서는 StateObject의 개념을 정리하고 StateObject와 Obse
State는 SwiftUI가 관리하는 값을 읽고 쓸 수 있는 속성 래퍼 유형으로 뷰 내에서만 사용이 가능합니다.정의를 다음과 같습니다.State의 초기화는 뷰 내부에서 해야 하고, 다른 객체로부터 State 값을 받는 것을 권장하지 않습니다.권장하지 않는 이유는 받더라
EnvironmentObject`는 상위 뷰에서 하위 뷰로 데이터를 전역적으로 공유할 수 있는 프로퍼티 래퍼입니다.
@propertyWrapper는 Swift에서 속성의 저장 방식을 관리하고, 코드 간에 계층을 추가하여 속성을 효과적으로 캡슐화합니다.@propertyWrapper를 통해 구현된 프로퍼티는 기본적인 값 저장 로직 외에도 검증, 변형, 추가 로직을 적용할 수 있습니다.초
SwiftUI의 생명주기는 크게 앱의 생명주기와 뷰의 생명주기로 나눌 수 있습니다.@main 은 App 프로토콜을 따르는 구조체로, C나 java에서 main 함수와 같이 앱의 진입점이 됩니다.만약 App 프로토콜을 명시하지 않는다면 컴파일 에러가 발생하기 때문에 꼭