1

テーブルにテーブルがありdd/MM/yy、エントリの形式の日付の列がありNSString、列ヘッダーをクリックした後、つまり、並べ替え記述子アイコン列は、並べ替え記述子に応じて昇順または降順で並べ替えられます。現在、たとえば次のように番号順に並べ替えています

  1. 10/23/13
  2. 11/4/09
  3. 5/2/06

しかし、列を日付でソートする必要があります。

  1. 5/2/06
  2. 11/4/09
  3. 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私のプロジェクトにもメソッドが必要です。

4

1 に答える 1