2016-05-10 6 views
0

私は2つのNSManagedObjectクラス "Person"と "Animal"を持っています。どちらのクラスも "name"プロパティを持っています。アルファベット順に1つの配列に並べ替えるにはどうすればよいですか?さまざまなクラスの配列を並べ替えるにはどうすればよいですか?

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) 

答えて

1

これを試してみてください:

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

これは完璧に機能しました、ありがとうございました! :D – user3353890

1

私はそれは私が通常の配列をアルファベット順方法です、NSSortDescriptorを使用してになります。 NSHipsterのページはhttp://nshipster.com/nssortdescriptor/です。

+0

これも素晴らしいリソースです、ありがとう! – user3353890

関連する問題