对数组排序

来源:互联网 发布:英创人才 知乎 编辑:程序博客网 时间:2024/05/22 11:47
在objective-c 里,如果想对一个数组里的对象进行排序,数组里的对象是自己定义的对象,大家都会用到 

[NSSortDescriptor sortDescriptorWithKey:@"Key" ascending:NO];

但是如果数组里放的是字典,要对字典的value按照它对象的一个字段排序,那么我们就有问题了。


我们可以这样做。


[array sortUsingDescriptors:

             [NSArray arrayWithObjects:

              [NSSortDescriptor sortDescriptorWithKey:@"key" ascending:NO],nil]];


字典里的value是我们自己定义的对象,要对它其中的对象按照字段排序。

我们只要在自定义对象里边加入 

- (NSComparisonResult) compare:(NSString *)string{

   return NSOrderedAscending;

}

即可。


return NSOrderedAscending;既是你要排序的顺序。