I would like to have a "permanent" NSDictionary in my app, in which from the beginning of the app launch, I can get access to the elements and even after I kill the app and start it again.  

This NSDictionary needs to be stored tightly with the app. One way would be to just to create the NSDictionary from a Web Service data every time the app launches, then create a singleton class that would represent this NSDictionary, but I don't think this is good. 

The NSDictionary will approximately hold 10-20 objects, where the key would be a NSString or NSDate and the value would be a NSArray. The NSArray would have a maximum of approximately 50 entries in it (on average probably there will only be 5-25 entries).

I am planning to use this NSDictionary as a part of a calculation that I am doing inside the delegate `locationManager:didUpdateToLocation:fromLocation:` each time a user moves every 50-100 meters.

Suggestions are appreciated on the best way I could do this.