SwiftUI 프로퍼티 래퍼
SwiftUI를 사용할 때 데이터를 다른 뷰에서 사용하거나 입력을 받기 위해서 프로퍼티 래퍼를 사용한다 프로퍼티 래퍼의 사전적 의미(사용)은 뷰의 상태를 관리하고, 데이터 바인딩을 제공하며, 앱 환경을 뷰계층에 전달하는 역할을 한다고 한다 State 프로퍼티 래퍼 @State는 뷰의 로컬 상태를 관리하는데 사용 이 데이터가 변경되면 뷰는 재랜...
SwiftUI를 사용할 때 데이터를 다른 뷰에서 사용하거나 입력을 받기 위해서 프로퍼티 래퍼를 사용한다 프로퍼티 래퍼의 사전적 의미(사용)은 뷰의 상태를 관리하고, 데이터 바인딩을 제공하며, 앱 환경을 뷰계층에 전달하는 역할을 한다고 한다 State 프로퍼티 래퍼 @State는 뷰의 로컬 상태를 관리하는데 사용 이 데이터가 변경되면 뷰는 재랜...
스위프트를 학습하다보면 많은 프로토콜들이 나온다 클래스, 구조체등에서 공통된 속성이나 메서드를 정의하기 위한 구조이다 또한 스위프트에서는 다중 상속을 지원하지 않지만, 한 클래스 또는 구조체가 여러 프로토콜을 사용해서 다중 상속과 유사한 동작을 구현할 수 있다 스위프트에서 사용하는 대표적인 프로토콜을 정리한다 Equatable 두 개체가...
지금까지 List 뷰를 목록으로 표현할 때만 사용했다 목록 내에 계층적 정보를 표시하는 방법을 사용해서 탐색을 용이하게 한다 OutlineGroup을 사용한다면 디스클로저 컨트롤(리스트 옆에 화살표가 표시되어 접을 수 있음) 을 이용해서 리스트를 표시 할 수 있고 이와 비슷한 기능으로 DisclosureGroup을 사용할 수도 있다 기본 리스트...
NavigationStack과 NavifationLink는 이동하는 뷰를 화면 전체에 채울 때 사용한다 아이폰에서는 이방법이 주로 사용되지만 아이패드나 아이폰 맥스의 가로방향일 때는 넓은 화면을 다채우기 때문에 더 많은 정보를 띄우지 못해 아쉬울 수 있다 넓은 디스플레이를 활용하기 위해서 멀티 컬럼 기반의 네비게이션을 사용할 수 있는 Navigatio...
List와 NavigationStack을 이용해서 각 행마다 이미지와 텍스트 정보를 가진 리스트를 만들고 추가/삭제/행 순서 변경이 가능하게 만든다 여기에 좀더 확장해서 Observable 객체를 추가해서 변동사항이 있다면 반영하도록 만든다 실습을 위한 데이터 실습을 위해 차사진 carAssets을 추가하고 차량 정보를 사진 carDa...
SwiftUI의 List는 수직 방향의 리스트 형태로 정적 동적 데이터를 모두 표현할 수 있고 추가, 삭제, 순서 재정렬 기능을 수행한다 또한 터치했을때 다른 영역으로 이동이 가능한 Navigationstack컴포넌트와 NavigationLink컴포넌트를 이용한다 List import SwiftUI struct ContentView: Vie...
기본적인 스택 정렬에 대해서는 VStack와 HStack에 대해서는 다뤄봤지만 복잡한 레이아웃을 설계 할 때는 표준 정렬 방법 이상의 방법이 필요하다 컨테이너 정렬 swiftUI스택을 사용할때 사용할 수 있는 가장 기본적인 방법이 컨테이너 정렬이다 스택에 포함된 하위 뷰들이 스택 내에서 정렬되는 방식을 의미한다 스택에 포함된 뷰에 지정된 정렬이 없...
앱을 사용할 때 앱을 다시 시작해도 저장해야하는 데이터들이 존재한다 예를 들어서 사용자의 기본 설정이나 사용자가 마지막으로 접근했을 때 화면으로 복구되기 원할때 유용하다 이런경우에 @AppStorage와 @SceneStorage를 사용할 수 있다 @SceneStorage 프로퍼티 래퍼 SceneStorage는 개별 앱 화면 인스턴스의 범위 내...
Observable 객체와 Environment 객체를 이용한 실습이다 Observable 객체는 시간이 지남에 따라 반복적으로 변하는 데이터 값, 동적 데이터를 래핑하는데 사용된다 Environment 객체는 앱 전반적으로 사용하는 데이터를 저장하는데 사용한다 Observable 객체 이용하기 1초마다 1씩 증가하는 Observable 객체...
앱을 만들 때 특정 뷰를 레이아웃 안에 나타나거나 사라지게 하는 일련의 작업을 수행해야하는 경우가 있다 이런 경우 앱은 값이 변경될 때마다 일부 코드를 실행하거나 뷰를 활성화 비활성화 시켜야하는 시점을 감지해야 한다 이런 모든 요구사항 또는 그 이상은 swiftUI에서 제공하는 이벤트 수정자 세트를 사용하면 충족이 가능하다 onAppear &a...