2010-03-31 86 views
3

我只是在看看NSNumbersNSArray为数字顺序排序,但我有点不确定最好的方式去。按照我的想法,001和002是相当可比的,所以我会怀疑是否会做。对于003,我不确定如果返回NSMutableArray方法预计NSArray是好的做法,它的工作原理,但它感觉尴尬。对NSArray进行排序并返回NSArray?

-(NSArray *)testMethod:(NSArray *)arrayNumbers {  
    // 001 
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers]; 
    [sortedArray sortUsingSelector:@selector(compare:)]; 
    arrayNumbers = [NSArray arrayWithArray:sortedArray]; 
    return(arrayNumbers); 
} 

-(NSArray *)testMethod:(NSArray *)arrayNumbers {  
    // 002 
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers]; 
    [sortedArray sortUsingSelector:@selector(compare:)]; 
    arrayNumbers = [[sortedArray copy] autorelease]; 
    return(arrayNumbers); 
} 

-(NSArray *)testMethod:(NSArray *)arrayNumbers {  
    // 003 
    NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:arrayNumbers]; 
    [sortedArray sortUsingSelector:@selector(compare:)]; 
    return(sortedArray);  
} 

回答

12

你并不需要一个可变数组的。你可以这样做:

NSArray* sortedArray = [arrayNumbers sortedArrayUsingSelector:@selector(compare:)]; 
+0

谢谢贾森,完全错过了那一个,非常感谢。 – fuzzygoat 2010-03-31 15:02:55

5

我想你可以叫

return [arrayNumbers sortedArrayUsingSelector:@selector(compare:)]; 
+0

谢谢,zondle。 – fuzzygoat 2010-03-31 15:01:16

0

的NSArray * sortedArray = [arrayNumbers sortedArrayUsingSelector:@selector(比较:)]。