0

その人のさまざまな電話番号の NSString プロパティ firstname、lastname、birthday、および NSMutableDictionary を持つ person オブジェクトがあります。

配列にさまざまな人物オブジェクトを追加し、それらのオブジェクトを年齢で並べ替える必要があります。年齢を計算する方法はありますが、計算された年齢をすべての人物オブジェクトの既存の配列とリンクして並べ替える方法がわかりません。

助けてください。

4

3 に答える 3

0
NSDateFormatter df = [NSDateFormatter new];

persons = [persons sortedArrayUsingComparator: ^(Person *p1, Person *p2) {
   NSDate* d1 = [df dateFromString:p1.birthday];
   NSDate* d2 = [df dateFromString:p2.birthday];

   return [d1 compare:d2];
}];
于 2013-09-13T21:17:46.873 に答える
0

property特定のもの( など) で並べ替えたい場合は、次ageを使用しますNSSortDesriptor

NSArray * people  = ... //your array of Person objects
NSSortDescriptor * sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
NSArray * sortedPeopleByAge = [people sortedArrayUsingDescriptors:@[sortDescriptor];
//sortedPeopleByAge are ... you know ... people sorted by age.

これがあなたの意図したものであることを願っています。

于 2013-09-13T21:10:01.503 に答える