对NSArray与NSMutableArray按照其存储的对象的属性进行排序

99封情书 提交于 2019-12-10 15:35:32
方法1:使用

Compare method

- (NSComparisonResult)compare:(Person *)otherObject {
    return [self.birthDate compare:otherObject.birthDate];
}

NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];

方法2:

NSSortDescriptor (better)

NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"
                                              ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
sortedArrayUsingDescriptors
sortedArrayUsingDescriptors返回的是NSArray *  ,如果对NSMutableArray进行排序,需要

mutableSortedArray=(NSMutableArray *)[mArray sortedArrayUsingDescriptors:xxx];

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!