How to update an object in SwiftData in Swift

A step by step guide on updating objects in a SwiftData persistent storage container using SwiftUI, UIKit or AppKit.

Oscar de la Hera Gomez
Written by Oscar de la Hera Gomez
First published on 09/12/2023 at 16:36
Last Updated on 09/12/2023 at 17:36
<p>Three flowers that represent Swift, Swift Data and Xcode.  The text "Update an Object in a SwiftData Persistent Container" sits beneath them.</p>

A step by step guide on updating objects in a SwiftData persistent storage container using SwiftUI, UIKit or AppKit.

SubscribeCheck out our SwiftData Quick Start Guide

As mentioned in the videos linked below, updating SwiftData objects is as simple as updating the object's variables - SwiftData handles the rest.

WWDC23: Meet SwiftDataWWDC23: Dive deeper into SwiftData
<p>A screenshot of an iPhone showing the result of the sample app available on our open source swift GitHub repository.</p>

The following tutorial has been made available, along with a simple app for demonstrating SwiftData, through the tutorial/swift-data-basics branch on our Open Source Swift Starter Project.

View RepositoryHow to create a SwiftLint enabled Swift XCode Project

Step One: Setup the Project

<p>A screenshot of Xcode showing the sample functionality that adds a new SwiftData object to a persistent container. The code snippet is available below.</p>

Follow the tutorial linked below to add SwiftData to your project, along with the ability to add objects.

How to add an object to SwiftData in Swift

Step Two: Add the Update Functionality

<p>A screenshot of Xcode showing a series of functions that can be used to update SwiftData objects. The code snippet is found below.</p>

Add functionality similar that below to the project to update the relevant variables for objects within a SwiftData persistent storage container.

We recommend adding this to a file called DataCoordinator+SwiftData.swift, where DataCoordinator is the name of the MainActor singleton that manages the SwiftData.

Please note that the code snippet found above uses a custom error that we created to track SwiftData errors. To learn how to create custom errors, consult the tutorial below.

How to create custom errors in Swift

Step Three: Test

<p>A screenshot of an iPhone showing the result of the sample app available on our open source swift GitHub repository.</p>

Add functionality to update SwiftData objects by calling the functions created in Step Two.

Then, run the app and test that it works.

Looking to learn more about things you can do with SwiftData, Swift or XCode ?

Consult our quick start guide or search our blog to find educational content on learning how to use SwiftData, Swift or XCode.

Consult our SwiftData Quick Start GuideSearch our Blog

Any Questions?

We are actively looking for feedback on how to improve this resource. Please send us a note to inquiries@delasign.com with any thoughts or feedback you may have.
SubscribeContact UsVisit our BlogView our ServicesView our Work

Partner with us

We would love to get to know you and see how we can help your organization with its goals and needs.
Let's Talk

Stay Informed

Get occasional updates about our company, research, and product launches.
Subscribe