@niwakk7 Web開発メモ

元々iPhoneアプリ開発のブログだったのですが、開発を休止しているためWeb関連の技術メモを残していきます。

NSSortDescriptorを使って、日付でソートする

以下のような構造のデータの配列を、NSSortDescriptorを使ってソートする。

@interface ListData : NSObject <NSCoding>

@property (nonatomic, readonly) NSString *identifier;
@property (nonatomic, retain)   NSString *memo;
@property (nonatomic, retain)   NSDate *date;

@end

上記のデータを、datasという配列(mutable)でもっているとする。その配列を、日付でソートする。

- (void)sortByDate
{
    NSSortDescriptor *descDate = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
    NSArray *sortDescArray = [NSArray arrayWithObjects:descDate, nil];
    _datas = [[[_datas copy] sortedArrayUsingDescriptors:sortDescArray] mutableCopy];
}

copyやらmutableCopyやら...不細工でもうしわけないが、ひとまず動いたのでのせるよ♪