I'm developing an app at work, this is my first big application and in my smaller projects I didn't use caching at all.
What's currently happening
When the user logs on for their very first time they have to pull in all of the news article data, their website account information and a few other things. Once I have the data I cache it.
When the user navigates to a screen where the data is required, I attempt to fetch and parse it into a Model Class Object before I attempt to display. But as you may have guessed the fetching / parsing process is too slow and my TableViewController is empty.
What I've Tried
I've tried using a completion handler to fetch the data but the TableViewController is still empty on load. I feel like the data needs to be parsed and ready for the TableViewController. But I'm not sure where / what the best practice is for doing this.
Options I'm considering
I've thought about trying to parse immediately after I download it so that I'm fetching ready-made objects at run-time.
I've considered fetching all cashed data and parsing them when the application first loads and storing them all in AppDelegate at the class level (probably not the best idea).
I'm not really sure what my other options are, I guess that's why I'm here.
My Question
How should I handle the fetching of cached data in iOS?