首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序NSArray并返回NSArray?

排序NSArray并返回NSArray?
EN

Stack Overflow用户
提问于 2010-03-31 22:46:02
回答 3查看 1.4K关注 0票数 3

我只是在考虑将NSNumbersNSArray排序成数字顺序,但我有点不确定最好的方法。根据我的想法,001和002是相当相似的,所以我怀疑任何一个都可以。对于003,我不确定当方法期望NSArray时返回NSMutableArray是否是很好的做法,它是有效的,但感觉很笨拙。

代码语言:javascript
复制
-(NSArray *)testMethod:(NSArray *)arrayNumbers {    
    // 001
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers];
    [sortedArray sortUsingSelector:@selector(compare:)];
    arrayNumbers = [NSArray arrayWithArray:sortedArray];
    return(arrayNumbers);   
}

代码语言:javascript
复制
-(NSArray *)testMethod:(NSArray *)arrayNumbers {    
    // 002
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers];
    [sortedArray sortUsingSelector:@selector(compare:)];
    arrayNumbers = [[sortedArray copy] autorelease];
    return(arrayNumbers);   
}

代码语言:javascript
复制
-(NSArray *)testMethod:(NSArray *)arrayNumbers {    
    // 003
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers];
    [sortedArray sortUsingSelector:@selector(compare:)];
    return(sortedArray);    
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-31 22:53:56

您根本不需要可变数组。你可以这样做:

代码语言:javascript
复制
NSArray* sortedArray = [arrayNumbers sortedArrayUsingSelector:@selector(compare:)];
票数 12
EN

Stack Overflow用户

发布于 2010-03-31 22:53:21

我想你可以直接打电话给

代码语言:javascript
复制
return [arrayNumbers sortedArrayUsingSelector:@selector(compare:)];
票数 5
EN

Stack Overflow用户

发布于 2013-12-30 20:47:47

NSArray* sortedArray = arrayNumbers排序数组使用选择器:@选择器(比较:);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2553894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档