使用sortedArrayUsingComparator方法
NSArray *sorted = [_scores sortedArrayUsingComparator:^(id obj1, id obj2){
if ([obj1 isKindOfClass:[Score class]] && [obj2 isKindOfClass:[Score class]]) {
Score *s1 = (Score*)obj1;
Score *s2 = (Score*)obj2;
if (s1.points > s2.points) {
return (NSComparisonResult)NSOrderedAscending;
} else if (s1.points < s2.points) {
return (NSComparisonResult)NSOrderedDescending;
}
}
// TODO: default is the same?
return (NSComparisonResult)NSOrderedSame;
}];
使用sortedArrayUsingSelector方法
- (NSComparisonResult)compare:(Person *)otherObject {
return [self.birthDate compare:otherObject.birthDate];
}
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];
使用sortedArrayUsingDescriptors:sortDescriptors
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
分享到:
相关推荐
在本实例中,我们将关注如何对`NSMutableArray`进行排序和过滤,这在许多应用程序中都非常常见,特别是在涉及到用户界面显示数据时。 首先,让我们来看看如何对`NSMutableArray`进行排序。在Objective-C中,我们...
2. NSMutableArray排序:提供了`sortUsingComparator:`和`sortedArrayUsingComparator:`两个方法来实现排序。`sortUsingComparator:`直接对原数组进行排序,而`sortedArrayUsingComparator:`返回一个新的已排序的...
在编程领域,排序和查找是基础且至关重要的概念,它们被广泛应用于各种软件开发中。Objective-C,作为苹果平台的主要编程语言,也提供了实现这些算法的接口。本篇将详细探讨对半查找(Binary Search)、选择排序...
选择排序是一种简单直观的排序算法,它的工作原理是每一次从未排序的序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)的元素,然后放到已排序序列的...
总的来说,NSArray和NSMutableArray提供了丰富的操作方法,如添加、删除、查询、排序等,使得在iOS开发中处理数据变得简单。在选择使用哪种类型时,主要考虑数组是否需要在程序运行过程中被修改。如果不需要修改,应...
不过,我们可以借助`NSMutableArray`(`NSArray`的可变子类)或者使用`NSArray`的分类方法`sortedArrayUsingComparator:`来实现排序。 1. 使用`sortedArrayUsingComparator:`方法: 这个方法接受一个比较器块作为...
在iOS开发中,经常需要对汉字或英文名称的数组进行排序和分组,以便于用户更方便地查找和浏览。这个任务通常涉及到Objective-C(OC)编程语言的使用,因此我们今天将深入探讨如何在iOS应用中实现这个功能。 首先,...
本篇将详细讲解Object-C中的数组排序,以及如何实现一个简洁易懂的排序代码。 Objective-C提供了NSArray和NSMutableArray两种类型的数组。NSArray是不可变的,即一旦创建就不能修改;而NSMutableArray则是可变的,...
在iOS开发中,数据模型数组的排序是一个常见的需求,特别是在显示列表或表格视图时。`sortedArrayUsingComparator`是Objective-C中`NSArray`类的一个方法,用于对数组中的对象进行自定义排序。这个方法非常强大,...
在Objective-C中,排序通常涉及到`NSArray`或`NSMutableArray`对象,因为它们提供了对元素的存储和操作。数组对象可以包含各种类型的对象,包括数字(整型或浮点型)、字符串和自定义对象。 对于数字的排序,...
在iOS开发中,处理中文字符串排序是一个常见的需求。中文字符排序并不像英文那样简单,因为中文字符是由多个字节组成的,涉及到Unicode编码和字符集的问题。本篇文章将深入探讨iOS中如何实现中文字符串的排序,以及...
首先,我们需要理解iOS中的拖动和排序机制。这通常涉及到UIPanGestureRecognizer手势识别器,它能够捕捉用户的滑动手势,并将其转化为对象的移动行为。在iOS开发中,我们可以为每个需要拖动的视图(如代表应用图标的...
在Objective-C中,我们可以使用`NSArray`或`NSMutableArray`的`sortedArrayUsingComparator:`或`sortUsingComparator:`方法来进行自定义排序。这些方法接受一个比较器block作为参数,通过比较器来确定元素的顺序。 ...
栏目排序主要涉及到的数据结构是数组,通常使用NSArray或NSMutableArray来存储栏目数据。排序可以按照多种标准进行,例如按字母顺序、时间顺序或者自定义的优先级。在Objective-C中,可以使用`...
在iOS开发中,我们经常会遇到需要对汉字进行首字母排序的需求,例如在通讯录应用或者搜索功能中。标题提到的“iOS汉字按首字母排序的开源库”正是为了解决这个问题而设计的。这个库提供了方便的方法,使得开发者无需...
**本地排序**:在数据加载到内存后,使用`NSArray`的`sortedArrayUsingComparator:`或`sortedArrayUsingSelector:`方法,或者`NSMutableArray`的`sortUsingComparator:`或`sortUsingSelector:`方法对数据进行排序。...
在这个特定的案例中,我们关注的是使用Objective-C实现的两个核心算法:二分查找(Binary Search)和快速排序(Quick Sort)。下面我们将详细探讨这两个算法及其在Objective-C中的实现。 首先,快速排序是一种高效...
在`main`函数中,我们创建了一个不可变的`NSArray`对象`arr`,然后创建了一个可变的`NSMutableArray`对象`mutable`。`mutable`数组首先添加了一些元素,然后将`arr`的元素添加到其中。 接下来,我们对`mutable`数组...
我们可以利用`NSArray`或`NSMutableArray`的`sortedArrayUsingComparator:`方法,传入一个比较器 block 来实现自定义排序。对于中文字符,我们需要先将其转换为拼音,再进行比较。这里可能会用到`NSComparator`和`...
void bubbleSort(NSMutableArray *array) { NSInteger count = array.count; for (NSInteger i = 0; i ; i++) { for (NSInteger j = 0; j ; j++) { if ([array[j] integerValue] > [array[j + 1] integerValue])...