Most appropriate way to store/retrieve User Input in a eCommerce iOS application? <p>I'm a bit confused with <code>Sqlite</code>, <code>Core Data</code>, <code>NSUserDefaults</code>and <code>PropertyList</code>. I know what is what, but not a very clear idea of about where to appropriately use them. </p> <p>I know that there are lots of tutorials, but I'm good at learning through situation based understanding. So kindly do help me to understand this in the situation that I'm facing right now and to make use of the available options wisely.</p> <p>I'm working on an ECommerce iOS (native) application, where I'm highly dependent on <code>API's</code> for data display. Now I'm in need of recording user's review for a product and send it over through an API.</p> <p>ie. I have three components, <code>rating title</code>, <code>rating value</code>(for that title) and another <code>rating title ID</code>. I'm defining with an example, I need to store multiple rows with details,</p> <pre><code>Components Data to be stored **Title** - Quality | Value | Price | | **Rating** - 2 | 3 | 1 | | **TitleID** - 10 | 11 | 12 </code></pre> <p>Like this, there will be so many entries, i.e, the number of <code>components</code> differs for various users, for some users, there might be more than three components, which must be saved &amp; send through an API. So how should I save these data? which is the <code>RIGHT</code> way to save these data temporarily?</p>