objective-c – 按降序排序数组(NSArray)

objective-c – 按降序排序数组(NSArray),第1张

概述我有一个NSString对象的数组,我必须通过降序排序。 由于我没有找到任何API按降序对数组进行排序,我以下列方式接近。 我为NSString写了一个类别,如下所示。 - (NSComparisonResult)CompareDescending:(NSString *)aString{ NSComparisonResult returnResult = NSOrderedSame; 我有一个Nsstring对象的数组,我必须通过降序排序。

由于我没有找到任何API按降序对数组进行排序,我以下列方式接近。

我为Nsstring写了一个类别,如下所示。

- (NSComparisonResult)CompareDescending:(Nsstring *)aString{    NSComparisonResult returnResult = NSOrderedSame;    returnResult = [self compare:aString];    if(NSOrderedAscending == returnResult)        returnResult = NSOrderedDescending;    else if(NSOrderedDescending == returnResult)        returnResult = NSOrderedAscending;    return returnResult;}

然后我使用该语句对数组进行排序

NSArray *sortedArray = [infileTypes sortedArrayUsingSelector:@selector(CompareDescending:)];

这是正确的解决方案吗?有没有更好的解决方案?

解决方法 你可以使用NSSortDescriptor:

NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:NO selector:@selector(localizedCompare:)];NSArray* sortedArray = [infileTypes sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];

这里我们使用localizedCompare:比较字符串,并将NO转换为升序:选项以降序排序。

总结

以上是内存溢出为你收集整理的objective-c – 按降序排序数组(NSArray)全部内容,希望文章能够帮你解决objective-c – 按降序排序数组(NSArray)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存