Overview
SwiftData makes it easy to persist data using declarative code. You can query and filter data using regular Swift code. And it’s designed to integrate seamlessly with SwiftUI.
Related docs:
Preserving
Model
@Model
swift
import SwiftData
@Model
class Trip {
var name: String
var destination: String
var startDate: Date
var endDate: Date
var accommodation: Accommodation?
}
Customize persistence behavior
@Attribute
swift
@Attribute(.unique) var name: String
@Relationship
swift
@Relationship(.cascade) var accommodation: Accommodation?
@Transient
temporary data that doesn’t need saving.
swift
@Transient var destinationWeather = Weather.current()
Configure Container
ModelContainer
ModelConfiguration
Save Model for later use
swift
import SwiftUI
import SwiftData
struct ContentView: View {
@Environment(\.modelContext) private var context
}
Query to display
@Query