SwiftData

SwiftData provides a data persistence framework for SwiftUI applications on Apple platforms for macOS, iOS, iPadOS, and watchOS. You can define data models for creating create custom objects that are linked by relationships, and you can retrieve them with filtering and sorting and synchronize them via iCloud.

Features

These are some of the key advantages of using SwiftData:

  • Easy persistence: Easily include data persistence to Swift apps to save, retrieve, update, and delete data objects on the local device.
  • SwiftUI integration: SwiftData is designed to work smoothly with SwiftUI with property wrappers like @Query to fetch and display data in SwiftUI views.
  • Declarative syntax: It uses a declarative approach like SwiftUI, which is more intuitive for developers.
  • Data modeling: The @Model macro allows you to define data models in Swift without separate schema files.
  • Automatic updates: SwiftData can automatically update views when the underlying data changes.
  • Built on Core Data: SwiftData leverages the proven Core Data framework, while providing a more modern Swift-friendly API.
  • Cross-platform: Works across Apple platforms: macOS, iOS, iPadOS, watchOS.
  • CloudKit integration: Provides easy synchronization with iCloud.
  • Performance optimizations: features like indexing improve query performance.
  • Minimal setup: Requires minimal boilerplate code to get started.
  • Type safety: Leverages the Swift type system for safer data access and querying.