Consente supponiamo di avere un allineamento come questoObjective-C, ordinare un array di stringhe contenente i numeri
NSArray* arr = @[@"1",@"4",@"2",@"8",@"11",@"10",@"14",@"9"]; //note: strings containing numbers
e voglio ordinarli in questo modo: [1,2,4,8,9,10 , 11,14]
ma se uso
[arr sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
ottengo [1,10,11,14,2,4,8,9] ... e se uso:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"length" ascending:YES];
NSArray *sortDescriptors = @[sortDescriptor];
[arr sortedArrayUsingDescriptors:sortDescriptors];
Ottengo qualcosa del genere: [1,4,2,8,9,11,10,14]
Come posso combinare entrambi i predicati? o è un altro modo più semplice per risolvere questo? NOTA: l'uscita di questo array è solo a scopo di debug, Non mi preoccupo se il risultato si trasforma l'array in interi finché posso stampare in console con NSLog grazie
In realtà sarebbe meglio una funzione che restituisce i numeri mancanti tra il minimo ed il valore massimo ... esempio di input: [1,5,4] ... uscita : [2,3] – user2387149