title: Archiving NSArray that contains dictionaries
body: <p>I am trying to save an <code>NSMutableArray</code> in <code>CoreData</code>. The Array contains objects <code>NSDictionary</code> </p>
  
  <p>NSDictionary has following Structure </p>
  
  <pre><code>valueDict = 
  {
      FloorId = F0001;
      endCoordinates = "NSPoint: {541, 413}";
      linePath = "&lt;UIBezierPath: 0x1d0903c0&gt;";
      pointsOnLine =     (
      );
      startCoordinates = "NSPoint: {418, 504}";
  },
  </code></pre>
  
  <p>To write to the Core Data I use following code: parray is type BinaryData</p>
  
  <pre><code>points.parray = [NSKeyedArchiver archivedDataWithRootObject:self.locationsArray];
  </code></pre>
  
  <p>and to retrieve value I use</p>
  
  <pre><code>locationsArray = [NSKeyedUnarchiver unarchiveObjectWithData:points.parray];
  </code></pre>
  
  <p>When I try to retrieve it i get following error : </p>
  
  <pre><code>Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSDictionary initWithObjects:forKeys:]: count of objects (0) differs from count of keys (5)'
  </code></pre>
  
  <p>I have checked that NSArray and NSDictionary adopts NSCoding protocol. What am I doing wrong here ? </p>