2012-07-11 71 views
0

我有一个类“Place”的对象的可变Arra。排序包含A类对象的NSMutabale数组

我想它的对象的属性“地名”的基础上进行排序..

让我看到了一些链接...但不能写正确的代码...

我现在用

-[NSMutableArray sortUsingSelector:] 

我可以得到这个如何使用一些例子 - [NSMutableArray的sortUsingSelector:]

请帮我出

感谢

+3

http://cocoadev.com/wiki/SortUsingSelector – Thomas 2012-07-11 13:26:46

回答

1

我会用一个NSSortDescriptor

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(localizedCompare:)]; 
[mutableArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 

IM的NSSortDescriptor是呼吁NSStringlocalizedCompare:,我认为name属性是一个的NSString。

0

如果您需要区分大小写的比较,然后使用,

NSSortDescriptor *sorter = [[[NSSortDescriptor alloc] 
      initWithKey:@"Place Name" 
      ascending:YES 
      selector:@selector(localizedCaseInsensitiveCompare:)] autorelease]; 
NSArray *sortDescriptors = [NSArray arrayWithObject: sorter]; 
[yourObjectArrayt sortUsingDescriptors:sortDescriptors];