Our little reminders app is starting to really take shape. We now have the ability to display the reminders lists along with a count of the number of incomplete reminders lists. And we did that in a single, simple SQL query which unfortunately is not possible to do in SwiftData. And we have the ability to create new lists of reminders, edit existing lists of reminders, all the while the view is observing changes to the database and animating changes.
And if that wasn’t cool enough, we are able to use all the tools of our libraries in an @Observable
model, which means everything we’ve done so far is 100% testable, and sadly this is not the case for SwiftData.
So, we truly are starting to see what it means to have a “modern persistence” system in an iOS application. We get to leverage all of the powers of SQL, and let it shine, while also being able to leverage the powers of SwiftUI, and let it shine.
But we currently do not have a way to see the reminders that are in each list, nor do we have a way to create new reminders or edit existing ones. And in the process of implementing these features we are going to come across all types of advanced topics in crafting complex SQL queries, so let’s dig in!