2016-05-10 1 views
0

J'ai deux classes NSManagedObject "Person" et "Animal". Les deux classes ont une propriété "name". Comment puis-je les trier par ordre alphabétique en un seul tableau?Comment trier un tableau de différentes classes?

class Person: NSManagedObject { 
    @NSManaged var name:String? 
    @NSManaged var occupation:String? 
} 

class Animal: NSManagedObject { 
    @NSManaged var name:String? 
    @NSManaged var breed:String? 
} 

//This array is filled with both people and animal objects from my database 
var peopleAndAnimals = [NSManagedObject]() 

peopleAndAnimals.sort(//I want to sort alphabetically by name here) 

Répondre

1

Essayez ceci:

peopleAndAnimals.sortInPlace { 
    if let name1 = $0.valueForKey("name") as? String, 
      name2 = $1.valueForKey("name") as? String { 
     return name1 < name2 
    } else { 
     return false 
    } 
} 
+0

Cela a fonctionné parfaitement, merci beaucoup! : D – user3353890