【发布时间】:2012-07-08 13:14:40
【问题描述】:
我注意到 NSDictionary 的枚举输出返回的序列与添加项目的顺序不同。
NSMutableArray *arrKeys;
NSMutableArray *arrValues;
NSDictionary *items;
arrKeys = [NSMutableArray arrayWithCapacity:5];
arrValues = [NSMutableArray arrayWithCapacity:5];
[arrKeys addObject:@"A"]; [arrValues addObject:@"First"];
[arrKeys addObject:@"B"]; [arrValues addObject:@"Second"];
[arrKeys addObject:@"C"]; [arrValues addObject:@"Third"];
[arrKeys addObject:@"D"]; [arrValues addObject:@"Fourth"];
[arrKeys addObject:@"E"]; [arrValues addObject:@"Last"];
items = [NSDictionary dictionaryWithObjects:arrValues forKeys:arrKeys];
for (NSString *aKey in items) {
NSLog(@"%@=%@", aKey, [items valueForKey:aKey]);
}
返回...
A=第一
D=第四
B=第二
E=最后一个
C=第三
我很欣赏字典允许您通过键随机访问项目,但是在枚举集合时返回的任意顺序是否有一些理由?
【问题讨论】: