由于我没有找到任何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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)