Sortieren eines Arrays von NSIndexPaths
Ich habe eine NSMutableArray
enthält NSIndexPath
Objekte, und ich möchte, um Sie zu Sortieren durch Ihre row
in aufsteigender Reihenfolge.
Was ist der kürzeste/einfachste Weg, es zu tun?
Dies ist, was ich versucht habe:
[self.selectedIndexPaths sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSIndexPath *indexPath1 = obj1;
NSIndexPath *indexPath2 = obj2;
return [@(indexPath1.section) compare:@(indexPath2.section)];
}];
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sagte Sie, dass Sie möchten, zu Sortieren
row
, doch Sie vergleichensection
. Darüber hinaussection
istNSInteger
, so dass Sie kann nicht rufen die Methoden auf.Ändern Sie Ihren code wie folgt zu Sortieren auf die
row
:Können Sie auch NSSortDescriptors zu Sortieren NSIndexPath durch die 'Zeile' - Eigenschaft.
wenn
self.selectedIndexPath
ist nicht veränderlich:oder wenn
self.selectedIndexPath
ist einNSMutableArray
einfach:Einfache & kurz.
Für ein veränderliches array:
Für ein immutable array:
Swift: