I’m developing an application similar to an RSS news reader. I need some mechanism to store the parsed XML locally. I tried using Plist but it soon became enormously complicated as the complexity of the application grew.
I’d like to know what would be the best method to store data for an application in which one frequently needs to read/write data to the device ?
Plist should be used for simple and limited data needs requirements that are somewhat static. They are good in PickerViews for example. SQLite and CoreData offer true data access and manipulation, and if data is changing, data integrity. Data models can be normalized, and dynamic relationships maintained between entities. In addition, complex queries can be performed with relational joins.
I have published applications where I used SQLite, and while more because of iOS SDK (pre-Core Data), the standard SQL syntax made the effort less taxing.
My latest applications, SureSafe Home Inventory completely uses CoreData. CoreData generates and uses a SQLite data base. Core Data is a layer above the SQLite code I had to write in my earlier App. While the initial learning curve can be a bit tough, it is well worth the change over!! I spent maybe 2 months reading everything and playing with Apple sample code to become somewhat proficient. But it takes care of so much of the headache of good database coding. There is even database model versioning, so if you have an upgrade later you can add new db fields and migrate existing customer data.
Long Winded… but if you are starting new, go with CoreData. I have no affiliation with Apple.
Steve S.