objective-c – 如何使用NSSortDescriptor对NSMutableArray进行排序

objective-c – 如何使用NSSortDescriptor对NSMutableArray进行排序,第1张

概述我正在使用以下NSSortDescriptor代码对数组进行排序.我目前按价格排序,但也希望对价格加以限制.是否有可能按价格排序,但仅显示价格低于100? NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey: @"price" 我正在使用以下NSSortDescriptor代码对数组进行排序.我目前按价格排序,但也希望对价格加以限制.是否有可能按价格排序,但仅显示价格低于100?

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]                                        initWithKey: @"price" ascending: YES];NSMutableArray *sortedArray = (NSMutableArray *)[self.displayItems                                                     sortedArrayUsingDescriptors: [NSArray arrayWithObject:sortDescriptor]];[self setdisplayItems:sortedArray];[self.tableVIEw reloadData];
解决方法 仅对数组进行排序还不够 – 您还需要对其进行过滤.

如果我们维护原始代码的结构,您可以添加如下过滤器:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]                                    initWithKey: @"price" ascending: YES];NSArray *sortedArray = [self.displayItems sortedArrayUsingDescriptors: [NSArray arrayWithObject:sortDescriptor]];nspredicate *pred = [nspredicate predicateWithFormat: @"price < 100"];NSMutableArray *filteredAndSortedArray = [sortedArray filteredArrayUsingPredicate: pred];[self setdisplayItems: [filteredAndSortedArray mutablecopy]];[self.tableVIEw reloadData];

如果性能成为问题,您可能想要反转过滤和排序,但这是一个细节.

总结

以上是内存溢出为你收集整理的objective-c – 如何使用NSSortDescriptor对NSMutableArray进行排序全部内容,希望文章能够帮你解决objective-c – 如何使用NSSortDescriptor对NSMutableArray进行排序所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1071126.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存