2016-07-28 15 views
-8

を含む文字列の配列が、私はこの目的-C、ソート文字列要素

NSArray* arr = @[@"MA",@"TU",@"WE",@"TH",@"FR",@"SA",@"SA"]; 

ような配列を持っていると私は、このようにそれらをソートしたいとしましょう:

arr = @[@"FR",@"MA",@"TU",@"WE",@"TH",@"SA",@"SA"]; 
+0

これはあなたを助けるかもしれない:http://stackoverflow.com/questions/1351182/how-to-sort-a-nsarray-alphabetically –

+1

@ViralSavaj、希望のソートはアルファベット順ではありません。 – Avi

+0

もっと詳しく説明できますか? –

答えて

2
NSMutableArray * arr = [NSMutableArray arrayWithObjects:@"MA",@"TU",@"WE",@"TH",@"FR",@"SA",@"SA", nil]; 
    if ([arr containsObject:@"FR"]) { 
     [arr removeObject:@"FR"]; 
     [arr insertObject:@"FR" atIndex:0]; 
    } 
3

あなたが書く必要がありますあなた自身のコンパレータ。

NSInteger customSort(NSString *s1, NSString *s2, void *context) { 
    // Custom logic goes here. 
    // Return one of NSOrderedAscending, NSOrderedDescending, NSOrderedSame 

    // Example: 
    NSArray *sorted = @[@"FR",@"MA",@"TU",@"WE",@"TH",@"SA"]; 

    NSInteger i1 = [sorted indexOfObject:s1]; 
    NSInteger i2 = [sorted indexOfObject:s2]; 

    return i1 < i2 ? NSOrderedAscending : i1 == i2 ? NSOrderedSame : NSOrderedDescending; 
} 


array = [array sortedArrayUsingFunction:customSort context:NULL]; 
関連する問題