I've read a few articles about NSIncrementalStore and I'm still confused about the whole concept. In this post we can read that:

Essentially you can now create a custom subclass of NSPersistentStore,
so that instead of your NSFetchRequest hitting a local SQLite
database, it runs a method you define that can do something arbitrary
to return results (like make a network request).

Up to this point I thought that NSIncrementalStore was a perfect solution for accessing remote data and saving/caching it locally. Now, I deduce that it's a solution only for accessing remote data.

If I am right I will be thankful for any piece of advice on some work-around.
If I am wrong, where is the magic and how to implement it ? Every post/article/tutorial on NSIncrementalStore shows how easily it is to pull data from server but none of them has given even a single clue about caching things for offline viewing.

Answering, let's consider a common scenario that an app is supposed to download some data from the Internet, display it and save locally so that users may use the app offline.

Also, I am not committed to use NSIncrementalStore or something. I am just looking for the best solution and this class was described as one by some of the best experts in this field.

2) Then, you need other NSPersistentStoreCoordinator, that will "coordinate local representation(incrementalStore) and context of the external storage" and provide your local storage representaton (like SQLite DB URL) to it:

If we need to discuss the easiest way, you need just subclass NSIncrementalStore, setup it correctly(like i wrote), parse data, then create some context, save date to it, then save it and merge to parent context.