Put Usage of a CoreDataFetchRequest out of Your Code and Into ... Where Exactly?
I created a generic CoreDataFetchRequest a while ago and love it. It casts the results to the expected values or throws an error if something went wrong, which it shouldn't ever, logically – but the Core Data API currently returns AnyObject
everywhere, so I have to deal with that.
Combining Collection-Like Repositories and East-Oriented Code
A repository pattern is used to model a central place in your domain to fetch model instances. It usually hides database-related stuff behind a collection-like interface. You don't have to worry about caching or database query optimization in client code – the concrete repository implementation will handle that.