You have several options for persisting data.
NSUserDefaults
are meant for user settings - small amounts of data. They seem unsuitable for what you have in mind.
NSCoding
is quite a good way to store structured data without the overhead of a database, yet it is slow in comparison to core data.
Core Data is Apples ORM, which is quite powerfull but not as easy to wrap your head around.
I answered a similar question recently, which goes into more detail regarding NSCoding
with a complete example and some links for further reading.