## What problem does it solve?
SwiftData simplifies persisting, querying, and migrating structured app data so developers no longer manage low-level SQLite wiring, manual schema transformations, or brittle Core Data interoperability by hand.
## Core Features & Use Cases
- Model authoring: Define reference-model classes with attribute options, relationships, transient state, uniqueness, and indexing for reliable storage and querying.
- Reactive queries & UI integration: Use @Query, FetchDescriptor, and SortDescriptor patterns to drive SwiftUI lists, previews, and dynamic searches.
- Transactions, batching & concurrency: Perform atomic transactions, batched enumeration for large datasets, and isolate background work via @ModelActor while exchanging persistent identifiers across actors.
- Migrations & coexistence: Plan VersionedSchema and SchemaMigrationPlan stages, perform lightweight and custom migrations, and safely coexist or migrate from Core Data including CloudKit-aware model design.
- Performance & sync: Optimize large-data imports, external storage for large blobs, history tracking, and CloudKit configuration for synced or local-only stores.
### Quick Start
Create @Model classes for your entities, attach a ModelContainer to the SwiftUI scene, and use @Query or ModelContext to insert, fetch, update, and save records.