作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道对 NSDictionary 进行排序的正确方法是从键创建一个数组,对数组进行排序,然后枚举该数组并从那里对 NSDictionary 进行操作。我的问题是,对于带有字符串键和值的 NSDictionary *dict,
为什么这是按字母顺序排列的:
NSLog(@"%@", dict);
但这不是:
for (NSString *w in dict)
{
NSLog(@"%@", w);
}
看起来很奇怪......我做错了什么吗?
提前致谢。
最佳答案
这不是“在内存中”—— %@ 导致在 dict 上调用一条消息,并对它进行排序。枚举旨在让您能够以最快的速度、原始方式访问内容。如果需要排序,就必须对其进行排序。
看看这个免费的 Objective-C 排序字典
关于cocoa - 为什么 NSDictionary 在内存中是按字母顺序排列的,但在枚举中却不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228691/
我是一名优秀的程序员,十分优秀!