[iOS/WWDC23] SwiftData 마이그레이션
·
iOS/WWDC
Migration프로퍼티를 수정하거나 추가 및 삭제를 수행하게 되면 새 버전을 출시할 때 마이그레이션 과정을 거쳐야 한다.SwiftData는 이러한 마이그레이션 과정을 간단하게 처리할 수 있는 도구를 제공한다.마이그레이션 과정1️⃣ VersionSchema를 통해 모델 캡슐화SwiftData 모델이 변경된 앱의 새 버전을 출시할 때 마다 새로운 VersionedSchema를 정의한다.enum TripSchemaV1: VersionedSchema { static var versionIdentifier: Schema.Version static var models: [any PersistentModel.Type]}VersionedSchema 는 각 버전의 스키마를 캡슐화 한다.각 버전이 Versio..
[iOS/WWDC23] SwiftData에 대해 알아보자
·
iOS/WWDC
SwiftData는 데이터모델링과 관리 프레임워크이다.다른 포멧은 제외하고 코드에만 집중하며 Swift 매크로를 통해 매끄러운 API를 만든다.Schema 구성요소@Model스키마 정의하는 매크로값 프로퍼티가 속성으로 사용되도록 적응시킨다.기본 타입과 Struct, Enum Codable등 가능@Attribute를 통해 제약조건 추가 가능@Relationship으로 삭제 규칙 지정 가능@Transient로 특정 프로퍼티를 포함하지 않도록 할 수 있음import SwiftData@Modelclass Trip { var name: String var destination: String var startDate: Date var bucketList: [BucketListItem]? = [..
[iOS/WWDC23] viewIsAppearing() 알아보기
·
iOS/WWDC
WWDC23에서 발표된 새로운 생명주기 메서드에 대해 알아봅시다.23년에 발표되긴 했지만 iOS 13부터 적용이 가능하다. viewIsAppearing()은 viewWillAppear()가 호출된 후, viewDidAppear() 호출 전에 호출되는 메서드이다.viewWillaAppear()에서는 아직 뷰가 올라오기 전이고, viewIsAppearing()에서는 뷰가 뷰의 계층 구조 상에 올라온 후 호출된다.때문에 viewIsAppearing()에서는 뷰의 크기나 초기 기하구조를 다루는 코드를 에서 수행할 수 있다.  그렇다면 viewDidAppear()시점에 수행해도 되는 것이 아닌가?viewDidAppear()도 사용자의 눈에 뷰가 보이기 전에 뷰를 다룰 수 있지만 사용자에게 보여지기 직전이기 때문에..