전체 글(52)
-
Macro 에 대해서 알아보자. ( 수정중 )
State 를 공부하다가, Observable() 의 정의를 또 타고들어가다가 이것이 Macro 타입이라는 걸 알게되었다. Share observable state objects with subviews 부분에서 https://playground-coding.tistory.com/78 Macro 이게 무슨 역할을 하는 타입일까? Struct, Class, Instance Method, Properties, enum 등 이런 것들은 문법을 공부할 때 한번씩은 보던 것들인데, Macro 는 뭐지.. State 에 저장된 Observable 객체를 하위 뷰와 공유하려면 객체 참조를 하위 뷰에 전달 SwiftUI는 객체의 관찰 가능한 속성이 변경될 때마다 하위 뷰를 업데이트하지만 하위 뷰의 body가 속성을 읽..
2023.11.12 -
@PropertyWrapper - ObservableObject, EnvironmentObject (수정중..)
이전에 살펴보았던, State 프로퍼티는 뷰의 상태를 저장하는 방법을 제공하며 해당 뷰에만 사용할 수 있다. 즉, 하위뷰가 아니거나 State Binding 이 구현되어 있지 않은 다른 뷰는 접근할 수 없다. 상태 프로퍼티는 일시적인 것이어서 부모 뷰가 사라지면 그 상태도 사라진다. ObservableObject Observable 객체는 여러 다른 뷰들이 외부에서 접근 할 수 있는 지속적인 데이터를 표현하기 위해 사용된다. → 객체가 변경되기 전에 내보내는 publisher(게시자) 가 있는 객체 유형 class Contact: ObservableObject { @Published var name: String @Published var age: Int init(name: String, age: Int..
2023.11.12 -
2023년 11월달 초순 개발 회고..
보호되어 있는 글입니다.
2023.11.06 -
Property Wrappers 에 대해 알아보자 - State, Binding ①
SwiftUI 에서 Property Wrapper들의 종류가 적지 않은 걸로 안다. 앞에는 주로 @ 표시를 붙이고 사용하는데, 그 종류를 알아보기 앞서 Property Wrapper 가 가지는 의미에 대해서 알아봐야겠다. Swift 내에서 프로퍼티가 가지는 속성과 역할을 보면, Properties - Access stored and computed values that are part of an instance or type. 저장되거나 계산되는 인스턴스 또는 타입의 일부인 value(값)에 액세스(접근) 한다. 그렇다면, 속성을 감싸서 사용할 때 감싼 걸 가지고 와서 사용할 것 같은 프로퍼티 래퍼 이 녀석은 Property Wrapper A property wrapper adds a layer of s..
2023.11.04 -
2023년 끝자락을 맞이하며 돌아보는 회고 비슷한 거
저는 관광영어학과, 프랑스언어문화학과를 졸업한 철저한 문과생 비전공자 출신입니다. 프로그래밍 언어라 하기엔 정말 애매하지만, 2018년도에 처음 마크업언어인 HTML 을 접하게 되었습니다. 그 외 Javascript, php, css 등 국비교육과정을 통해 접했습니다. 2019년 3개월가량 php, mysql, javascript 등을 사용하면서 웹개발 하는 부서에 3개월 동안 다니다가, 당일 해고를 당했습니다. 당시엔 제 문제를 간파하려는 것보단, 회사를 원망했어요. 왜 미리 예고를 하지 않았을까? 일주일 전에라도 알려줬다면 ‘나 나름대로 준비했을텐데..’ 사실 항상 개발 공부를 하면서 노파심과 의구심을 가져왔어요. 내가 하는 개발 공부 방식이 맞는 것인가? 나보다 잘하는 사람들, 잘하는 전공생, 날고..
2023.11.01 -
ViewBuilder 는 어떻게 만드는 걸까? - ②
앞서 ViewBuilder의 개념에서 하위 뷰 생성 클로저에 매개변수에 대한 속성으로 사용해 해당 클로저가 여러 하위 뷰를 제공할 수 있도록 해준다고 한다. 는 걸 알아봤다. 그런데 뷰빌더를 어떻게 만들어서 갖다쓰는 걸까?! custom container view 를 만들어서 레고 블록처럼 가져다 쓸수 있다고 해야할까.. 하위 뷰는 뷰 선언부를 작고 가볍게 재사용할 수 있는 블록으로 나누는 방법을 제공한다. 하위 뷰에는 한계가 있는 컨테이너 뷰의 콘텐트가 정적이기 때문에 하위 뷰가 레이아웃(Layout) 에 포함될 시점에 하위 뷰에 포함될 뷰를 동적으로 지정할 수 없다. 우선 백문이불여일타라고, 눈으로 보고, 코드부터 짜봤다. @ViewBuilder 를 생성하기 위한 조건. 1. 라는 제너릭 타입같은 놈..
2023.10.07