NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < 10; i ++) {
[NSThread sleepForTimeInterval:1.f];
Test23 *test = [[Test23 alloc] init];
test.name = [NSString stringWithFormat:@"name_%d",i];
test.date = [NSDate date];
[array addObject:test];
[test release];
}
for (Test23 *test in array) {
NSLog(@"%@",test.name);
NSLog(@"%f",test.date.timeIntervalSince1970);
}
[array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
Test23 *test1 = obj1;
Test23 *test2 = obj2;
double a = test1.date.timeIntervalSince1970;
double b = test2.date.timeIntervalSince1970;
if (a < b) {
return NSOrderedDescending;
} else if (a > b) {
return NSOrderedAscending;
} else {
return NSOrderedSame;
}
}];
NSLog(@">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
for (Test23 *test in array) {
NSLog(@"%@",test.name);
NSLog(@"%f",test.date.timeIntervalSince1970);
}
分享到:
相关推荐
在本实例中,我们将关注如何对`NSMutableArray`进行排序和过滤,这在许多应用程序中都非常常见,特别是在涉及到用户界面显示数据时。 首先,让我们来看看如何对`NSMutableArray`进行排序。在Objective-C中,我们...
2. NSMutableArray排序:提供了`sortUsingComparator:`和`sortedArrayUsingComparator:`两个方法来实现排序。`sortUsingComparator:`直接对原数组进行排序,而`sortedArrayUsingComparator:`返回一个新的已排序的...
在编程领域,排序和查找是基础且至关重要的概念,它们被广泛应用于各种软件开发中。Objective-C,作为苹果平台的主要编程语言,也提供了实现这些算法的接口。本篇将详细探讨对半查找(Binary Search)、选择排序...
本篇文章将详细探讨如何在Objective-C中实现自定义的排序算法,包括快速排序、选择排序、插入排序和希尔排序这四种经典算法。 ### 1. 快速排序 快速排序是一种高效的分治策略,由英国计算机科学家C.A.R. Hoare在...
总的来说,NSArray和NSMutableArray提供了丰富的操作方法,如添加、删除、查询、排序等,使得在iOS开发中处理数据变得简单。在选择使用哪种类型时,主要考虑数组是否需要在程序运行过程中被修改。如果不需要修改,应...
不过,我们可以借助`NSMutableArray`(`NSArray`的可变子类)或者使用`NSArray`的分类方法`sortedArrayUsingComparator:`来实现排序。 1. 使用`sortedArrayUsingComparator:`方法: 这个方法接受一个比较器块作为...
如果你希望原地排序(即改变原始数组),可以使用`sortUsingComparator:`方法,但是要注意,对于不可变的`NSArray`,这个方法是不适用的,因为`NSArray`是不可变的,你需要先将其转换为可变的`NSMutableArray`。...
这里我们将主要讨论NSMutableArray的排序方法。 1. **基础概念** - **NSMutableArray**: 作为NSArray的子类,NSMutableArray提供了`sortUsingComparator:`、`sortUsingDescriptors:`、`sortUsingFunction:context:...
groupedNames[firstChar] = [NSMutableArray array]; } [groupedNames[firstChar] addObject:name]; } ``` 这段代码遍历已排序的名称,提取每个名称的第一个字符作为键,然后将其添加到相应的分组数组中。 如果...
`NSArray`是不可变的,一旦创建就不能修改,而`NSMutableArray`则支持添加、删除和替换元素等操作,因此更适合需要排序的情况。 创建一个`NSArray`的基本语法如下: ```objc NSArray *myArray = @[@"Element1", @...
这通常意味着我们需要有一个存储应用图标位置的数据结构,如NSArray或NSMutableArray。每次视图位置改变时,我们都需要更新对应数据模型中的顺序,确保视图和模型的一致性。这样,在应用重新启动或者数据刷新时,...
NSMutableArray *sortedWords = [words mutableCopy]; // 对每个单词进行拼音转换并根据首字母排序 [sortedWords sortUsingComparator:^NSComparisonResult(NSString *word1, NSString *word2) { NSString *pinyin...
在Objective-C中,排序通常涉及到`NSArray`或`NSMutableArray`对象,因为它们提供了对元素的存储和操作。数组对象可以包含各种类型的对象,包括数字(整型或浮点型)、字符串和自定义对象。 对于数字的排序,...
栏目排序主要涉及到的数据结构是数组,通常使用NSArray或NSMutableArray来存储栏目数据。排序可以按照多种标准进行,例如按字母顺序、时间顺序或者自定义的优先级。在Objective-C中,可以使用`...
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])...
**本地排序**:在数据加载到内存后,使用`NSArray`的`sortedArrayUsingComparator:`或`sortedArrayUsingSelector:`方法,或者`NSMutableArray`的`sortUsingComparator:`或`sortUsingSelector:`方法对数据进行排序。...
在`main`函数中,我们创建了一个不可变的`NSArray`对象`arr`,然后创建了一个可变的`NSMutableArray`对象`mutable`。`mutable`数组首先添加了一些元素,然后将`arr`的元素添加到其中。 接下来,我们对`mutable`数组...
它的基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据...
我们可以利用`NSArray`或`NSMutableArray`的`sortedArrayUsingComparator:`方法,传入一个比较器 block 来实现自定义排序。对于中文字符,我们需要先将其转换为拼音,再进行比较。这里可能会用到`NSComparator`和`...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。这个算法的基本思想是采用分治法(Divide and Conquer)将一个大问题分解为若干个小问题来解决。在快速排序中,我们选择一个基准元素,...