What is SwiftData?

Answer

SwiftData (iOS 17+) is Apple's modern replacement for Core Data, built with Swift macros and full SwiftUI integration. It provides simple, type-safe, expressive persistence. Defining models: import SwiftData @Model class Trip { var name: String var destination: String var startDate: Date var endDate: Date @Relationship(deleteRule: .cascade, inverse: \Trip.accommodation) var accommodation: Accommodation? init(name: String, destination: String, start: Date, end: Date) { self.name = name self.destination = destination self.startDate = start self.endDate = end } } @Model class Accommodation { var name: String var address: String }. Setup in SwiftUI: @main struct TravelApp: App { var body: some Scene { WindowGroup { ContentView() } .modelContainer(for: [Trip.self, Accommodation.self]) } }. Fetching with @Query: struct TripsView: View { @Query(sort: \Trip.startDate, order: .reverse) var trips: [Trip] // Automatically updates @Environment(\.modelContext) var context var body: some View { List(trips) { trip in Text(trip.name) } } }. CRUD operations: // Create: let trip = Trip(name: "Vacation", destination: "Tokyo", start: .now, end: .now.addingTimeInterval(86400 * 7)) context.insert(trip) // Delete: context.delete(trip) // Update: trip.name = "Summer Vacation" // Auto-saved. Filtering: @Query(filter: #Predicate<Trip> { trip in trip.destination == "Tokyo" }, sort: \Trip.startDate) var tokyoTrips: [Trip]. SwiftData uses the same SQLite backend as Core Data but with a modern Swift-native API.