After spending 4 days with the problem of sorting an array of NSDictionaries (!!) using every kind of method imaginable, I finally found the solution:
You can't use sortUsingSelector because that operates on the object in the array (in this case an NSDictionary). That explains the countless ("[CFDictionary compareScores] selector not recognized etc…") I was getting. Phew
So use sortUsingFunction instead. And as the guys at cocoadev so eloquently showed:
int someSort (id obj1, id obj2, void *context)
{
return [[(NSDictionary *)obj1 objectForKey:(NSString *)context] compare:[(NSDictionary *)obj2 objectForKey:(NSString *)context]];
}
Where “context” is the NSDictionary key you want to sort by.