title: NSCoder vs NSDictionary, when do you use what?
body: <p>I'm trying to figure out how to decide when to use NSDictionary or NSCoder/NSCoding?</p>
  
  <p>It seems that for general property lists and such that NSDictionary is the easy way to go that generates XML files that are easily editable outside of the application.</p>
  
  <p>When dealing with custom classes that holds data or possibly other custom classes nested inside, it seems like NSCoder/NSCoding would be the better route since it will step through all the contained object classes and encode them as well when an archive command is used. </p>
  
  <p>NSDictionary seems like it would take more work to get all the properties or data characteristics to a single level to be able to save it, where as NSCoder/NSCoding would automatically encode nested custom classes that implement the NSCoding interface.</p>
  
  <p>Outside of it being binary data and not editable outside of your application is there a real reason to use one over the other? And along those lines is there an indicator of which way you should lean between the two? Am I missing something obvious?</p>