Property Lists
A plist is simply a list of nested key-value pairs which can contain common data types like Strings, Numbers, Arrays and Dictionaries.
Pros
- Simple to understand.
- Easy to work with.
Cons
Cannot run complex queries on them (at least not easily).
You have to read the entire file into memory to get any data out of it and save the entire file to modify anything in it.
SQLite
Until CoreData came along, this was the popular way to read and write data in iPhone applications. If your a web developer, this ain’t nothing new.
Pros
- Unlike plists, you don’t have to load the whole database up front.
This makes SQLite more suitable for applications with lots of data.
- Better than plists for slicing and dicing data.
Cons
Steeper learning curve than plists.
Can get tedious to work with.
Core Data
Its new, its exciting, and its probably what most developers will use from here on out.
I have not spent enough time with CoreData to summarize it; check out the tutorials (below) to learn more about it.
Pros
Nearly all the benefits of SQLite with a lot less hassle (Apple does
a lot of the dirty work for you).
As Apple’s preferred method it has a lot more official documentation and sample code (it seems the articles and sample code for the other two methods have mysteriously disappeared from Apple’s website).
Cons
- Steeper learning curve than plists.
- Killer: only works on iPhone OS >3.0. Its killer if your market consists largely of iPod Touch users (who have to pay for upgrades).