首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSMutableDictonary总是按字母顺序排序键吗?

NSMutableDictonary总是按字母顺序排序键吗?
EN

Stack Overflow用户
提问于 2015-04-03 05:14:37
回答 2查看 101关注 0票数 0

我创建了一个NSMutableDictonary

问题是,我把所有的键按字母顺序排序。为什么是这样?

我今天才注意到这件事(以前从没查过这个)。这是NSMutableDictonary的实际实现吗?有什么方法可以按我声明的顺序得到键/值吗?

下面是截图中的代码:

代码语言:javascript
运行
复制
- (IBAction)OnBtnSubmit:(id)sender {
    NSString *strUid=[[NSUserDefaults standardUserDefaults] objectForKey:@"UID"];
    NSString *picData=[self imageToNSString:ProfileImage.image];
    NSString *strComment=_commentTxt.text;
    NSString *strUnit=_unitTxt.text;

    NSMutableDictionary *parameters =[NSMutableDictionary dictionaryWithObjectsAndKeys:strUid,@"uid",strComment,@"comment",strUnit,@"unit_donate",@"hi",@"image",nil];

    NSLog(@"parameters : %@",parameters);

我关心的是,我能否按我声明的顺序得到键/值?

如下所示:

代码语言:javascript
运行
复制
  NSMutableDictionary *parameters =[NSMutableDictionary dictionaryWithObjectsAndKeys:strUid,@"uid",strComment,@"comment",strUnit,@"unit_donate",@"hi",@"image",nil];

 {
  uid = 85;
  comment= test;
  unit_donate = 1;
  image=hi;
 }

我需要这个确切的顺序,因为在web端有一个数组存储所有这些键的值。我需要确保image总是排在第四位。

但是我很想知道,我已经记录了我创建的字典,为什么它会按字母顺序显示呢?这是我的字典保存的实际顺序,还是有其他原因?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-03 06:53:32

我很肯定字典没有跟踪输入顺序。你是如何输出字典,循环键,还是只是打印字典?

如果您知道要检索对象的顺序,则可以创建自己版本的键数组,并按所需的顺序循环从字典中提取对象。

有关更多详细信息,请查看字典作品如何

票数 0
EN

Stack Overflow用户

发布于 2015-04-03 06:34:56

是的,会是那样的。但是,不管是什么顺序,它都不应该涉及到您的逻辑,因为您总是要在键而不是基于顺序的基础上获取值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29426581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档