일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- stateobject
- SwiftUI
- withAnimation
- 달력
- Concurrency
- combine
- environmentobjet
- iphone
- ar
- auth
- Animation
- CS
- 네트워크
- Network
- realitykit
- 데이터최적화
- WWDC
- GCD
- Performance
- UIKit
- gesture
- dataflow
- firebase
- RxSwift
- arkit
- authentication
- swift
- state
- fullscreencover
- ios
- Today
- Total
목록2024/08 (2)
XLOG
1. Observation 이란?wwdc 23 에서 발표한 observation 은 프로퍼티의 변화를 추적하는 Swift 기능으로 같은 wwdc 23 에 발표한 swift 5.9에 신기능인 매크로를 사용하여 정의한 데이터 타입을 observable 하게 바꿔주는 기능이다.2. 사용방법정의한 class 에 @observable property wrapper 를 붙여준다.import Foundationimport Observation@Observable class DataModel { var count: Int = 0}이를 View 에서 사용할 땐 @State, @Environment, @Bindable, var 를 사할 수 있다. 여기서의 기준은View의 부분일 경우 @State, 글로벌하게 변수를 사용할..
사이드 프로젝트를 진행하면서 Tree 형태의 데이터 구조를 만들어 사용했다.데이터는 SwiftData 를 사용해서 저장을 했으며 Model 은 Hashable 을 상속시켰다.그런데 데이터를 수정하고 나서 한번씩 Fatal error 가 발생했다.테스트를 더 해보긴 해야겠지만 찾아본 바로 원인은 Hashable을 충족하기 위해서 Equatable 또한 상속시켜야 한다. Hashable 이 Equatable 을 상속해야하는 이유는 HashValue 의 비교를 위해서인데, 여기서 내가 실수한 부분은 == 에 정의할 때 비교 연산을 Hash 함수에 사용한 Propertie 와 달라서 였다.예를 들면class Model { let id: UUID = UUID() let name: String let s..