3

I have made an class which conforms to the NSCoding protocol and does all the encode and decode stuff.

For my app, I simply want to persist an object from that class to the device and the next time when the app launches, I want to load that object back into memory.

Basically it's just an class which holds some user input information. For example the user starts writing a text but then quits the app. Next time I want to load that data object.

I guess I need NSKeyedArchiver? Is there a good tutorial on this? How do I do that?

dontWatchMyProfile
  • 45,440
  • 50
  • 177
  • 260

1 Answers1

3

Yes you need NSKeyed(Un)Archiver. These 2 classes can convert your object to/from NSData which you can save/load it as a file.

To save your object to a file:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

To read the object from a file:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.
kennytm
  • 510,854
  • 105
  • 1,084
  • 1,005