その人のさまざまな電話番号の NSString プロパティ firstname、lastname、birthday、および NSMutableDictionary を持つ person オブジェクトがあります。
配列にさまざまな人物オブジェクトを追加し、それらのオブジェクトを年齢で並べ替える必要があります。年齢を計算する方法はありますが、計算された年齢をすべての人物オブジェクトの既存の配列とリンクして並べ替える方法がわかりません。
助けてください。
その人のさまざまな電話番号の NSString プロパティ firstname、lastname、birthday、および NSMutableDictionary を持つ person オブジェクトがあります。
配列にさまざまな人物オブジェクトを追加し、それらのオブジェクトを年齢で並べ替える必要があります。年齢を計算する方法はありますが、計算された年齢をすべての人物オブジェクトの既存の配列とリンクして並べ替える方法がわかりません。
助けてください。
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];
}];
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.
これがあなたの意図したものであることを願っています。