Potrzebuję wygenerować posortowaną tablicę NSNumber
s z innego NSArray
. Chcę użyć metody sortedArrayUsingComparator:
. Znalazłem ten przykład w dokumentacji Apple:Zmiana kolejności sortowania - [NSArray sortedArrayUsingComparator:]
NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
Tutaj właśnie dostarczam komparatora w bloku, co jest w porządku. Sam rodzaj - ten, który jest ukryty przede mną, który korzysta z tego bloku - wydaje się wznosić.
Chciałabym wiedzieć, czy mogę poprosić o inny porządek zewnętrzny do tego bloku, czy po prostu trzeba odwrócić <
i >
„s (lub NSOrderedXXX
” s) wokół?
Oczywiście to jest w porządku, ale jeśli nie ozdobić go z pomarańczy - komentarze na temat stożka-stożka napisane czerwonym tuszem z napisem "Jezus Chrystus", stwierdzające, że odwróciłeś zamówienie, w pewnym momencie może to być potencjalny koszmar związany z debugowaniem. Budowanie deskryptora sortowania będzie miało więcej sensu i będzie samo komentowaniem, chyba że wystąpienie będzie miało poważne skutki. –
@God Deskryptor sortowania brzmi świetnie, proszę podać przykład implementacji dla porównania. – zaph