title: Why NSUserDefaults failed to save NSMutableDictionary in iOS?
body: <p>I'd like to save an <code>NSMutableDictionary</code> object in <code>NSUserDefaults</code>. The key type in <code>NSMutableDictionary</code> is <code>NSString</code>, the value type is <code>NSArray</code>, which contains a list of object which implements <code>NSCoding</code>. Per document, <code>NSString</code> and <code>NSArray</code> both are conform to <code>NSCoding</code>.</p>
  
  <p>I am getting this error: </p>
  
  <blockquote>
    <p>[NSUserDefaults setObject: forKey:]: Attempt to insert non-property value.... of class NSCFDictionary.</p>
  </blockquote>