0

私は Iphone 開発者であり、この技術は初めてです。をソートしたいNSMutableArray。この配列のすべてのインデックスには、NSMutableDictionary. すべての辞書には、名前と日付の 2 つのフィールドがあります。この Date フィールドに従って配列を並べ替えたいと思います。私の配列は次のようになります:

(
   {
       name :  raj
       date  : 20/09/1998
   }
   {
       name : teena
       date : 21/06/1987
   }
)

ネットでいろいろ検索しましたが、適切な答えが見つかりませんでした。みんな助けてください。任意の応答は非常に高く評価されます。

4

1 に答える 1

1
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"date"
                                              ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
self.sortedArray = [self.originalArray sortedArrayUsingDescriptors:sortDescriptors];

これは、日付キーに実際に日付オブジェクトが含まれていて、文字列の形式で日付が含まれている場合に機能するはずです..これを試す必要があります..

[resultArray sortUsingComparator:^NSComparisonResult(id a, id b) {

    static NSDateFormatter *dateFormatter = nil;

    if (!dateFormatter) {
        dateFormatter = [[NSDateFormatter alloc] init];
        dateFormatter.dateFormat = @"mm/dd/yyyy hh:mm:ss"; 
    }

    NSString *date1String = [a valueForKey:@"StartDate"];
    NSString *date2String = [b valueForKey:@"StartDate"];

    NSDate *date1 = [dateFormatter dateFromString:date1String];
    NSDate *date2 = [dateFormatter dateFromString:date2String];

    return [date1 compare:date2];
    }];
于 2013-01-16T07:11:56.883 に答える