NSArray 関数sortedArrayUsingComparatorを使用して NSDictionaries の NSMutableArray をソートするためにいくつかの助けを借りて管理しましたが、ソートしたい配列は 1 つの値に基づいているだけではありません。
startdate と finishdate の 2 つの値があります。現在、startdate でのみ並べ替えているため、enddate を見て、それらが正しくないことがわかるまで、配列が並べ替えられているように見えます。
現在の形式。
(start / end)
0 / 1996
0 / 1991
1992 / 1995
1993 / 1999
1993 / 1991
実際に私がこのようなことを達成したいとき
(start / end)
0 / 1991
0 / 1996
1992 / 1995
1993 / 1991
1993 / 1999
これは現時点での私のコードです
// try sorting years
NSString const * myStartDate = @"DATESTART";
NSString const * myEndDate = @"DATEEND";
NSArray *sortedArray = [resultantArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSDictionary *dictA = a;
NSDictionary *dictB = b;
NSNumber *startDate1 = dictA[myStartDate];
NSNumber *startDate2 = dictB[myStartDate];
return [startDate1 compare:startDate2];
}];
これにより、私が提供した最初の並べ替えの例が生成されます。少しの助けを借りて望んでいるのは、開始日と終了日が同じものを順番に並べ替えることです。
どんな助けでも大歓迎です。