List
·
SwiftUI
단일 열에 배열된 데이터 행을 표시하는 컨테이너로, 선택적으로 하나 이상의 구성원을 선택할 수 있는 기능을 제공한다. 가장 간단하게 LIst를 만드는 방법은 정적으로 만드는 것으로 다음과 같다.더 일반적으로, 기본 데이터 모음에서 동적으로 목록을 만든다. 다음 예제는 Identifiable을 준수하는 Ocean 유형의 배열에서 간단한 목록을 만드는 방법을 보여준다. 리스트를 선택할 수 있는 기능을 추가하기리스트에 있는 내용들을 선택할 수 있으려면 선택할 변수에 binding을 부여한다.목록 데이터의 식별 가능한 단일 인스턴스에 바인딩을 부여한다. ID 유형(UUID)은 단일 선택 목록을 만든다. Set에 바인딩하면 여러 선택을 지원하는 목록이 생성됩니다. 다음 예제는 이전 예제에 다중 선택을 추가하는 방..
Navigation Stack
·
SwiftUI
root 뷰와 root 뷰에서 추가적인 뷰들을 보여주는 뷰라고 합니다. 기존 NavigationView와 다른점은 view 대신 데이터와 값들로 작동을 한다는 것입니다. Navigation Stack를 사용하면 root view를 중심으로 뷰를 스택처럼 쌓아서 사용할 수 있습니다. 사람들은 NavigationLink를 클릭함으로서 뷰를 스택 최상단에 쌓을 수 있습니다. 그리고 스택에 쌓인 뷰들은 뒤로가기 버튼이나 스와이핑 제스처를 통해서 pop 할 수 있습니다. 스택은 가장 최근에 추가된 뷰를 보여줍니다 navigation link를 만들기 위해서 navigation link를 만들려면, 스택의 뷰 계층 구조 안에 navigationDestination(for:destination:) 수정자를 추가하여 ..
Computed Properties
·
SwiftUI
기존에 선언했던 프로퍼티들은 Stored Properties다. Stored Properties의 기능은 메모리에 값을 저장하는 것이다.하지만 Computed Properties라는 타입의 프로퍼티도 있다. 이 프로퍼티들은 본인의 값을 저장하는게 아닌 다른 나머지 프로퍼티들에 접근하고 값을 설정하고 가져오는 작업을 수행할 수 있다.즉 Computed Properties = get, set을 이용한 프로퍼티 다음 두개의 메서드는 값을 get, set 할 수 있는 computed propertie들이며 이 메서드들은 getter, setter로 불리기도 한다.import UIKit// computed propertiesstruct Price { var USD: Double var rateToCAD..
KeyPath, 키 경로
·
SwiftUI
KeyPath는 프로퍼티를 참조하여 읽고 쓸 수 있게 해주는 것 keypath 는 역슬래시( \ )와 타입, 마침표( . ) 경로로 구성되어 있습니다.class Person { var name: String init(name: String) { self.name = name }} struct Stuff { var name: String var owner: Person}// name이 var로 선언된 경우 WritableKeyPath// name이 let로 선언된 경우 KeyPath.Typeprint(type(of: \Person.name)) //WritableKeyPathprint(type(of: \Stuff.name)) //WritableKeyPath key..
projectedValue
·
SwiftUI
projectedValue 란- state 값에 바인딩해주는 것 설명projected value를 사용하여 저장된 값에 대하여 바인딩을 얻을 수 있다. 바인딩은 저장된 값에 양방향 연결을 제공한다. projectedValue에 접근하기 위해서는 $ 수식을 붙여야한다. 다음 예시에서 PlayerView 에서 @State 프로퍼티인 isPlaying은 PlayButton 뷰에서도 접근하고 쓰고 읽을 수 있게 해준다.struct PlayerView: View { var episode: Episode @State private var isPlaying: Bool = false var body: some View { VStack { Text(episode.title..
Binding
·
SwiftUI
데이터의 출처에 값을 읽고 쓸 수 있는 프로퍼티 래퍼 타입이다 Overviewbinding은 저장하는 데이터와 데이터를 바꾸고 바뀐 값을 띄우는 view와 함께 연결시키는 양방향 연결을 만들어준다.binding은 데이터를 직접 저장하는 대신 프로퍼티를 데이터 출처(어디에 저장되어 있든 상관없음)와 연결시켜준다. 예를 들어 play 버튼과 pause 버튼을 만들때 binding을 만들어 부모 뷰에 있는 프로퍼티와 연결시킬 수 있다.struct PlayButton: View { @Binding var isPlaying: Bool var body: some View { Button(isPlaying ? "Pause" : "Play") { isPlaying.toggle..
ytw_developer
'SwiftUI' 카테고리의 글 목록 (34 Page)