CleanArchitectureRxSwift has a concrete demonstration of how using separate structs can help you use isolate persistence so as to use the same view controller with either Realm or CoreData (that obviously applies to more recent persistence options as well).
Yeah, objc.io is typically the first source I look to for any given topic of considerable depth. The actual code is less helpful given its age, but with the exception of concurrency (now that we will have structured concurrency in iOS 15), I think the book's general lessons for those meatier topics are just as relevant.
The only other one book I've read read on the topic, Learning Core Data for iOS with Swift: A Hands-On Guide to Building Core Data Applications, is even older and I definitely learned a lot more from the objc.io one. Raywenderlich has Core Data by Tutorials, which has been updated for iOS 14, but I have not read that one. Glancing at the repo for that book, it definitely does not appear to be as advanced as the objc.io one.