テーブルにテーブルがありdd/MM/yy
、エントリの形式の日付の列がありNSString
、列ヘッダーをクリックした後、つまり、並べ替え記述子アイコン列は、並べ替え記述子に応じて昇順または降順で並べ替えられます。現在、たとえば次のように番号順に並べ替えています
- 10/23/13
- 11/4/09
- 5/2/06
しかし、列を日付でソートする必要があります。
- 5/2/06
- 11/4/09
- 10/23/13
私は次のコードを書いています
- (void)tableView:(NSTableView *)tableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
{
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
[fifiMainList sortUsingComparator:^NSComparisonResult(id a, id b) {
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"yyyy MM dd"];
NSString *date1String = [a valueForKey:@"date"];
NSString *date2String = [b valueForKey:@"date"];
NSDate *date1 = [dateFormat dateFromString:date1String];
NSDate *date2 = [dateFormat dateFromString:date2String];
return [date1 compare:date2];
}];
}
しかし、それは私にとってはうまくいきません。
ソートコードをsortDescriptorsDidChange
どこかに書く必要がありますか? sortDescriptorsDidChange
私のプロジェクトにもメソッドが必要です。