【发布时间】:2013-09-17 06:03:54
【问题描述】:
我存储了实体“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
为什么字典的排序顺序被破坏了?
附言对不起我的英语 - 我来自俄罗斯
【问题讨论】:
标签: ios sorting dictionary