title: Sorting an NSArray by an NSDictionary value
body: <p>I'm trying to sort an array that would look something like this:
  (please ignore the fact these people are well past any living age! I just needed large numbers)</p>
  
  <pre><code>NSDictionary *person1 = [NSDictionary dictionaryWithObjectsAndKeys:@"sam",@"name",@"28.00",@"age",nil];
  NSDictionary *person2 = [NSDictionary dictionaryWithObjectsAndKeys:@"cody",@"name",@"100.00",@"age",nil];
  NSDictionary *person3 = [NSDictionary dictionaryWithObjectsAndKeys:@"marvin",@"name",@"299.00",@"age",nil];
  NSDictionary *person4 = [NSDictionary dictionaryWithObjectsAndKeys:@"billy",@"name",@"0.0",@"age",nil];
  NSDictionary *person5 = [NSDictionary dictionaryWithObjectsAndKeys:@"tammy",@"name",@"54.00",@"age",nil];
  
  NSMutableArray *arr = [[NSMutableArray alloc] initWithObjects:person1,person2,person3,person4,person5,nil];
  
  // before sort
  NSLog(@"%@",arr);
  
  NSSortDescriptor *ageSorter = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:YES];
  [arr sortUsingDescriptors:[NSArray arrayWithObject:ageSorter]];
  
  // after sort
  NSLog(@"%@",arr);
  </code></pre>
  
  <p>Now before sort the output would be:</p>
  
  <pre><code>2010-07-21 10:46:31.898 Sorting[70673:207] (
      {
      age = "28.00";
      name = sam;
  },
      {
      age = "100.00";
      name = cody;
  },
      {
      age = "299.00";
      name = marvin;
  },
      {
      age = "0.0";
      name = billy;
  },
      {
      age = "54.00";
      name = tammy;
  }
  </code></pre>
  
  <p>)</p>
  
  <p>and after the sort:</p>
  
  <pre><code>2010-07-21 10:46:31.900 Sorting[70673:207] (
      {
      age = "0.0";
      name = billy;
  },
      {
      age = "100.00";
      name = cody;
  },
      {
      age = "28.00";
      name = sam;
  },
      {
      age = "299.00";
      name = marvin;
  },
      {
      age = "54.00";
      name = tammy;
  }
  </code></pre>
  
  <p>)</p>
  
  <p>As you can see it does sort it, but from my understanding it's sorting by string. I've tried but after a few days of failure of trying to write a method that would sort this for me im still at a loss. What would be the best approach and accomplishing this so it sorts by a numeric value?</p>