エンティティ「SchedulesItems」のストレージがあります。このストレージのグループ結果を試すと、キーの順序に問題があります。例えば:
NSMutableArray *keysForDictionary = [[NSMutableArray alloc] init];
NSMutableArray *objectsForDictionary = [[NSMutableArray alloc] init];
NSUInteger index = 0;
for ( EBResponseEventsSchedulesItem *schedulesItem in items ) {
NSDate *date = schedulesItem.date;
if ( ![keysForDictionary containsObject:date] ) {
[keysForDictionary addObject:date];
[objectsForDictionary addObject:[NSMutableArray array]];
}
index = [keysForDictionary indexOfObject:date];
[[objectsForDictionary objectAtIndex:index] addObject:schedulesItem];
}
// in this line array 'keysForDictionary' have right order, just like:
// 25.09.2013
// 26.09.2013
// 27.09.2013
// 28.09.2013
NSDictionary *returnDictionary = [[NSDictionary alloc] initWithObjects: objectsForDictionary forKeys:keysForDictionary];
// but this line array [returnDictionary allKeys] have wrong order, just like:
// 25.09.2013
// 28.09.2013
// 27.09.2013
// 26.09.2013
// but objects which associated with this keys is ok
辞書のソート順が壊れているのはなぜですか?
ps私の英語でごめんなさい-私はロシア出身です