
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进行排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)