NSMutableArray 中排序

使用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是Objective-C的可变数组类,常用于存储和管理一组有序的对象。以下是NSMutableArray的常见用法: 1. 创建NSMutableArray对象: ```objective-c NSMutableArray *array = [NSMutableArray array]; // 空数组 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"obj1", @"obj2", nil]; // 初始化含有对象的数组 ``` 2. 添加和删除对象: ```objective-c [array addObject:@"obj3"]; // 在数组末尾添加对象 [array insertObject:@"obj4" atIndex:2]; // 在指定索引位置插入对象 [array removeObject:@"obj2"]; // 移除指定对象 [array removeObjectAtIndex:0]; // 移除指定索引位置的对象 ``` 3. 替换和交换对象: ```objective-c [array replaceObjectAtIndex:1 withObject:@"newObj"]; // 替换指定索引位置的对象 [array exchangeObjectAtIndex:0 withObjectAtIndex:2]; // 交换两个索引位置的对象 ``` 4. 获取数组信息: ```objective-c NSUInteger count = [array count]; // 获取数组对象的数量 id obj = [array objectAtIndex:2]; // 获取指定索引位置的对象 NSInteger index = [array indexOfObject:@"obj3"]; // 获取指定对象的索引位置 BOOL containsObj = [array containsObject:@"obj2"]; // 判断数组是否包含指定对象 ``` 5. 遍历数组: ```objective-c for (id obj in array) { // 遍历数组的对象 } [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { // 使用block遍历数组的对象,可以获取对象、索引和停止遍历的标志 }]; ``` 6. 数组排序: ```objective-c [array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) { // 自定义的比较方法,用于数组排序 }]; ``` 这只是NSMutableArray的一些常见用法,还有其他更多的方法和功能可供使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值