I am facing some issues in terms of what caching mechanism to implement for my iOS application. First, lets explain my situation.
I want to request thousands of nearby locations records (10000 and more) through a RESTful API on my server using Alamofire, where each record consists of a bunch of strings. The JSON response format looks similar to this:
"name": "Name x",
"address": "Address x"
"name": "Name y",
"address": "Address y"
You are on the right track with considering CoreData and NSCache.
There will be tradeoffs. In reducing your network activity, you will be looking to utilize device memory and/or the file system. Usage of any of these resources should be carefully considered. All of the options below are viable and it may be worthwhile to do some measuring with instruments to see the impact of each approach.
On paper here is how I would weigh them given your requirements.