2010-03-31 79 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(比較:)]。