Group Group Group Group Group Group Group Group Group

Modern, Efficient Core Data | raywenderlich.com

Hi @rufy, The documentation of these APIs is unfortunately incomplete. The WWDC 2019 talk mentions it here: Making Apps with Core Data - WWDC19 - Videos - Apple Developer

It would be really good to not have so much of the app completed at the start, particularly related to groups and relationships. While I understand it is just a tutorial and not an in-depth video course, it seems like the app is 99.5% complete at the start. It isn’t entirely clear how useful Persistent History Tracking is other than making sure you don’t have redundant data (and not even too sure what the difference is between using history tracking to do this compared to using mergePolicy (mergeByPropertyObjectTrumpMergePolicyType).

Perhaps an “Advanced” SwiftUI/Core Data course which goes more in depth about relationships, such as how to use @SectionedFetchRequest to present Fireballs grouped according to the FireballGroup they belong to (which may not be possible, as this is a to-many relationship both directions).

Regardless the above, good course and I love the premise of the app. Amazing the APIs that NASA provides!

Thanks for the feedback @sbolin. It’s tricky with tutorials when you’re focusing on a specific API. The tutorial would grow much longer if we explained the creation of the app from the start.

History tracking is most useful when you have a lot of data and you’re limiting your main context to the current query generation. The history tracking allows you to control which changes get merged into your main context while the app is running. In theory it prevents large background data updates to bog down your main queue context to update your UI, while still updating the persistent store.

The merge policy just controls how the merging changes are processed when there are conflicts.

You should jump on the RW Discord server (raywenderlich.com Chat) if you have feedback or want to see a topic covered in a course of tutorial. Or you can submit feedback through the Contact Us page: https://help.raywenderlich.com/contact

1 Like