Split Data for NSKeyedArchiver and NSKeyedUnarchiver
===

Good Day,

This is a more of a question on *how* to implement something rather than about a particular framework detail. If this is the incorrect location to ask, I do apologize.

I have a custom hierarchy of objects, and each of these objects contains immutable as well as mutable properties. What I would like to do is have the mutable data stored in NSUserDefaults while the immutable data is stored in static plists. The reason for the split is that my mutable data is fairly small, while the immutable stuff is quite large.

Under the current setup, everybody conforms to NSCoding and encodeWithCoder: encodes only the mutable data, while initWithCoder: attempts to read in the keys for all mutable as well as immutable data. Then upon application backgrounding or exit, the mutable data gets archived and written to NSUserDefaults.

The immutable data plist has already been created and unarchives properly. Also, the mutable data unarchives properly from NSUserDefaults. However, I'm having to unarchive the mutable and immutable data into separate object hierarchies, where originally there was one.

Essentially, I just want one hierarchy with my mutable data in NSUserDefaults and the immutable data in a plist. How should I go about doing this? Is NSCoding the correct solution?

Thank you for your help.