I’m looking for a faster way to save user preferences than the NSUserDefaults. I’ve found that if the app is killed within around 10 seconds of writing to NSUserDefaults, it will not be saved permanently. I use the defaults to save paths to custom ring tones, paths to custom images, map coordinates, and basically just user defined preferences. Is using core data the better option? SQLite? What’s accepted as the fastest and most lightweight?
I’m looking for a faster way to save user preferences than the NSUserDefaults. I’ve
Share
You need to be sure to call synchronize to save the data immediately.
From Apple’s class reference:
And to answer your second question, it really depends on how much data you want to store. NSUserDefaults is designed to store very small amounts of data (for preferences) like the state of a toggle switch, etc. You can get away with storing the paths to images and ring tones here but it isn’t exactly advisable. By that I mean you can, but probably shouldn’t.
Core Data is a much better approach if you plan on storing many of these paths as it is very scalable and performs very well. So overall, if you need to store a lot of data, user Core Data, or as another alternative store the paths in a plist in the documents directory.