iOs App 1000+ Data Input CoreData or Simple Array?


I have about 1000+ Data Entries (Number, Name, Age, Color). On the first view the user can imput a numer which will output the corresponding entries on the second view.

Do I have to work with CoreData or is it a good solution to use a simple Array to store the data?

Does the Array use to much memory? Is the Array to slow?

With 1000+ strings along with other data you are likely to run into memory problems rather soon. Also, if you are not using an incremental store such as Core Data provides, changing the smallest unit of your data would require rewriting the entire list.

Core Data would be my choice, but there is a somewhat steep learning curve. It is not really that difficult, but it takes maybe some time to get used to. The NSFetchedResultsController will ensure good performance and low memory footprint.

If, however, persistence is not really an issue and you are actually calculating the data (e.g. based on the initial number), you might want to use a different scheme. For example, in a standard UITableView you could calculate the data to be displayed ad hoc in the datasource methods based on the index path - you would then have to calculate only the data for the visible cells. Depending on the demands of the data model, you might have some performance issues when scrolling very fast - this is difficult to predict.