2016-07-22 7 views
0

In meiner laufenden App erstelle ich ein Array von Laufobjekten aus Kerndaten. Allerdings muss ich sie nach Datum sortieren (jedem Laufobjekt ist eine Datumsvariable zugeordnet). Hier ist mein Code:Sortieren eines Arrays von Laufobjekten nach Datum (Stammdaten)

Bevor die Funktion endet, wie würde ich mein Array von Laufobjekten (genannt Läufe) nach Datum sortieren?

+0

Mögliches Duplikat von [Core Data Sortierdeskriptor mit NSDate, iOS mit Swift] (http://stackoverflow.com/questions/30511999/core-data-sort-descriptor-with-nsdate-ios-with-swift) – ZGski

Antwort

0

Sie eine Funktion definieren können, die das Array sortiert auf der Grundlage Ihrer date Attribut:

func sortArrayDate(array:[Run])-> [NSManagedObject]{ 
     let newArray = array.sort ({ 
      (obj1, obj2) in 
      let p1 = obj1 as Run 
      let p2 = obj2 as Run 
      return p1.date_attr!.compare(p2.date_attr!) == .OrderedDescending 
     }) 
     return newArray 
    } 

und

enum NSComparisonResult : Int { 
    case OrderedAscending 
    case OrderedSame 
    case OrderedDescending 
} 

Array Aufruf:

sortArrayDate(self.runs) 

in sortieren absteigend sortieren .