title: NSDictionary or NSObject with NSStrings as properties, Which is Better?
body: <p>Which is better approach between use of <code>NSDictionary</code> and <code>NSObject</code> with <code>NSStrings</code> as properties, in terms of faster performance and efficient memory management, if the code is written for an iPhone application?</p>
  
  <p>E.g. If an application deals with parsing an XML file which is as follows:</p>
  
  <pre><code>&lt; ?xml version="1.0" encoding="utf-8" ?&gt;
  
  &lt;Sync status="1" syncdate="03/04/2009 11:25:34 AM"&gt;
  
  &lt; FirstName&gt;AAA&lt; / FirstName&gt;
  
  &lt; MiddleName&gt;BBB&lt; / MiddleName&gt;
  
  &lt; LastName&gt;ZZZ&lt; / LastName&gt;
  
  &lt; Age&gt;28&lt; /Age&gt;
  
  &lt; Gender&gt;Male&lt; /Gender&gt;
  
  &lt; /Sync&gt;
  </code></pre>
  
  <p>then, while storing up the parsed values, which approach is more efficient and proper, if the XML file size can be little bigger? Is storing the parsed values in a '<code>NSDictionary</code>' against the respective 'keys'(e.g. <code>Key=FirstName</code> <code>Value=AAA</code>) efficient and proper as compared to storing the same parsed data into the <code>NSString</code> variables(i.e. having <code>NSString</code> properties of all the interested nodes to store the respective values. e.g. <code>NSString *firstName</code> will store "AAA") of a <code>NSObject</code> subclass?
  I'm looking for more faster performance as well as the memory efficiency.</p>