2012年7月22日日曜日

Blockを使ったNSArrayのソート

NSArrayのソートって、

- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors
とかを使ってしかソートできないのかと思ったらBlocks使ってソートできるみたい。

このメソッド
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr

使い方


// arrayにはNSDate型のオブジェクトが入っているとする
    NSArray *sorted = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        return [(NSDate *)obj1 earlierDate:(NSDate*)obj2] == (NSDate*)obj1;
    }];
これで日付の降順にソートされたNSArrayを取得できます。
うだうだ別メソッドに書き出さなくてすむので、便利ですね!

0 件のコメント:

コメントを投稿