SwiftData

SwiftData is Apple’s model-persistence framework: @Model classes, ModelContainer/ModelContext, #Predicate-filtered fetches, and the @Query/.modelContainer(for:) SwiftUI integration. tswift implements a stage-1 subset natively over a SQLite-backed host service (tswift.db.*) — no macro expansion: @Model classes are discovered structurally from the declaration itself.

Legend: ✅ Implemented · 🟡 Partial · ⬜ Missing · 🚫 Out of scope.

Member counts below are generated by python3 tools/framework-inventory/coverage.py --framework swiftdata --emit-json — nothing on this page is hand-typed.

SwiftData9%–11%

10 implemented · 2 partial · 102 missing (114 total)

PersistentModel (12)

  • ==funcMissing
  • createBackingDatafuncMissing
  • getTransformableValuefuncMissing
  • getValuefuncMissing
  • hasChangesvarMissing
  • hashfuncMissing
  • idvarMissing
  • isDeletedvarMissing
  • modelContextvarMissing
  • persistentModelIDvarMissing
  • setTransformableValuefuncMissing
  • setValuefuncMissing

Schema (15)

  • ==funcMissing
  • debugDescriptionvarMissing
  • encodefuncMissing
  • encodingVersionletMissing
  • entitiesletMissing
  • entitiesByNameletMissing
  • entityfuncMissing
  • entityNamefuncMissing
  • hashfuncMissing
  • hashValuevarMissing
  • initinitMissing
  • loadfuncMissing
  • savefuncMissing
  • schemaEncodingVersionletMissing
  • versionletMissing

SchemaProperty (4)

  • isAttributevarMissing
  • isOptionalvarMissing
  • isRelationshipvarMissing
  • isTransientvarMissing

PersistentIdentifier (10)

  • <funcMissing
  • ==funcMissing
  • encodefuncMissing
  • entityNamevarMissing
  • hashfuncMissing
  • hashValuevarMissing
  • idletMissing
  • identifierfuncMissing
  • initinitMissing
  • storeIdentifiervarMissing

ModelContainer (8)

  • ==funcMissing
  • configurationsvarMissing
  • deleteAllDatafuncMissing
  • erasefuncMissing
  • initinitImplemented
  • mainContextvarImplemented
  • migrationPlanletMissing
  • schemaletMissing

ModelConfiguration (16)

  • ==funcMissing
  • allowsSaveletMissing
  • cloudKitContainerIdentifierletMissing
  • cloudKitDatabaseletMissing
  • debugDescriptionvarMissing
  • groupAppContainerIdentifierletMissing
  • groupContainerletMissing
  • hashfuncMissing
  • hashValuevarMissing
  • idvarMissing
  • initinitImplemented
  • isStoredInMemoryOnlyletMissing
  • nameletMissing
  • schemavarMissing
  • urlletMissing
  • validatefuncMissing

ModelContext (28)

  • ==funcMissing
  • authorvarMissing
  • autosaveEnabledvarMissing
  • changedModelsArrayvarMissing
  • containervarMissing
  • debugDescriptionvarMissing
  • deletefuncImplemented
  • deleteHistoryfuncMissing
  • deletedModelsArrayvarMissing
  • didSaveletMissing
  • editingStatevarMissing
  • enumeratefuncMissing
  • fetchfuncImplemented
  • fetchCountfuncMissing
  • fetchHistoryfuncMissing
  • fetchIdentifiersfuncMissing
  • hasChangesvarMissing
  • initinitImplemented
  • insertfuncImplemented
  • insertedModelsArrayvarMissing
  • modelfuncMissing
  • processPendingChangesfuncMissing
  • registeredModelfuncMissing
  • rollbackfuncMissing
  • savefuncImplemented
  • transactionfuncMissing
  • undoManagervarMissing
  • willSaveletMissing

FetchDescriptor (9)

  • ==funcMissing
  • fetchLimitvarMissing
  • fetchOffsetvarMissing
  • includePendingChangesvarMissing
  • initinitImplemented
  • predicatevarMissing
  • propertiesToFetchvarMissing
  • relationshipKeyPathsForPrefetchingvarMissing
  • sortByvarMissing

FetchResultsCollection (3)

  • endIndexvarMissing
  • startIndexvarMissing
  • subscriptsubscriptMissing

Query (5)

  • fetchErrorvarMissing
  • initinitImplemented
  • modelContextvarMissing
  • updatefuncMissing
  • wrappedValuevarPartial

View (2)

  • modelContainerfuncPartial
  • modelContextfuncMissing

Scene (2)

  • modelContainerfuncMissing
  • modelContextfuncMissing

What’s implemented

Out of scope (for now)

Per frameworks/swiftdata/scope.toml: relationships (@Relationship, to-one/to-many model references), schema migration (MigrationStage, versioned schemas), persistent history tracking, the custom DataStore backend SPI, CloudKit sync, and undo (undoManager) are not modelled. ModelContext.autosaveEnabled is off — callers must call save() explicitly (this runtime has no run loop to hang autosave off).

How it renders

SwiftData runs over the same host-service seam as UserDefaults/FileManager (see the Foundation status page): a tswift.db.* wire the embedding backs with a real SQLite connection (CLI native) or a capability-gated diagnostic where no database service exists (e.g. an embedding that hasn’t wired one up).