NSDictionary 的有序性: (by the key in some rule)

NSDictionary*myDictionary =[NSDictionary dictionaryWithObjectsAndKeys:@"o1",@"k1",@"o6",@"k4",@"o2",@"k2",@"o3",@"k3",@"o5",@"k5", nil];NSInteger count =[myDictionary count];

如下代码1:

NSLog(@"%@ ", [myDictionary allKeys]);

NSLog(@"%@ ", [myDictionary allValues]);

每次运行都是这样的结果

2014-04-10 10:55:58.548[3105:70b] (

    k4,

    k3,

    k2,

    k5,

    k1

2014-04-10 10:55:58.548[3105:70b] (

    o6,

    o3,

    o2,

    o5,

    o1

)

修改k4 --> k6 

每次运行结果为

2014-04-10 10:53:38.318[3083:70b] (

    k3,

    k6,

    k2,

    k5,

    k1

2014-04-10 10:53:38.318[3083:70b] (

    o3,

    o6,

    o2,

    o5,

    o1

 

如下代码2:

id __unsafe_unretained objects[count];

id  __unsafe_unretained keys[count];

[myDictionary getObjects:objects andKeys:keys];

for(int i =0; i < count; i++){

id obj = objects[i];

id key = keys[i];NSLog(@"%@ -> %@", obj, key);

}

每次运行都是这样的结果

o6 -> k4

o3 -> k3

o2 -> k2

o5 -> k5

o1 -> k1

修改k4 --> k6 

每次运行结果为

o3 -> k3

o6 -> k6

o2 -> k2

o5 -> k5

o1 -> k1

由此可知

NSDictionary  其实是有序的: (by the key in some rule) 根据key进行排序

NSDictionary 的有序性 (by the key in some rule)的更多相关文章

  1. 遍历NSArray, NSDictionary, NSSet的方法总结

    1,for循环读取 NSArray: NSArray *array = /*…*/ ; i<array.count; i++) { id object = array[i]; // do sth ...

  2. Foundation框架--字典( NSDictionary NSMutableDictionary )

    基础知识 1.字典不允许相同的key,但允许有相同的value. 2,字典是无序的,字典不能排序. 3.字典里的内容是成对存在的,不会出现单数. 4.快速创建的方式只适合不可变字典. 不可变字典 #i ...

  3. NSDictionary读取数据类型异常问题.

    起因:做网络交互时,经常会使用JSON作为数据的承载体,本来是件好事,但是用多了,发现iOS侧偶尔会出现异常,几经比较发现是服务器给的数据有问题,该给INT的给按照STR给了,服务器能做动态更新,可客 ...

  4. NSData NSDate NSString NSArray NSDictionary 相互转换

    // NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSDa ...

  5. iOS NSDictionary、NSData、JSON数据类型相互转换

    iOS经常需要用到数据类型的转换,下面列举一下常用类型的转换. 1.NSDictionary类型转换为NSData类型: //NSDictionary -> NSData: NSDictiona ...

  6. [OC Foundation框架 - 10] NSDictionary

    通过唯一的key找到相应的value,类似于Map NSDictionary是不可变的   1.创建 void dicCreate() { //Immutable // NSDictionary *d ...

  7. iOS NSDictionary、NSData、JSON等 数据类型相互转换

    1.NSDictionary类型转换为NSData类型: NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @&qu ...

  8. NSDictionary所有API的学习。

    <欢迎大家增加iOS开发学习交流群:QQ529560119> @property (readonly)NSUInteger count; //1.利用指定的key寻找相应的value - ...

  9. xcode KVC:Key Value Coding 键值编码

    赋值 // 能修改私有成员变量 - (void)setValue:(id)value forKey:(NSString *)key; - (void)setValue:(id)value forKey ...

随机推荐

  1. Django站点管理--ModelAdmin

    class AuthorAdmin(admin.ModelAdmin): list_display=('name', 'age', 'sex') #指定要显示的字段 search_fields=('n ...

  2. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载

    paip.编程语言方法重载实现的原理及python,php,js中实现方法重载 有些语言,在方法的重载上,形式上不支持函数重载,但可以通过模拟实现.. 主要原理:根据参数个数进行重载,或者使用默认值 ...

  3. paip.myeclipse7 java webservice 最佳实践o228

    paip.myeclipse7  java webservice 最佳实践o228 java的ws实现方案:jax-ws>>xfire ws的测试工具  webservice测试调用工具W ...

  4. D. Book of Evil

    D. Book of Evil time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  5. jQuery的简单入门练习

    <html> <head> <meta charset="utf-8"> <title>jQuery的练习</title> ...

  6. Mac 安装 home Brew以及 XCTool的过程记录

    一.HomeBrew相关: 先对HomeBrew做一个简单的介绍吧,之前了解的也不多. 主要就是用于安装Unix的工具包. 注意:HomeBrew依赖于Xcode的 Command Line Tool ...

  7. 销傲销售过程GSP管理系统功能概述

    1      公司介绍 西安海思威软件有限公司于2009年2月注册成立,海思威软件公司隶属于海思威集团,位于交通十分便利的西安经济技术开发区.公司致力于中国本土式销售管理的研究与管理软件产品的开发,是 ...

  8. aehyok.com的成长之路二——技术选型

    前言   首先奉上个人网站地址传送门:aehyok.com 在上一篇博客中http://www.cnblogs.com/aehyok/p/3934197.html主要简单的介绍了自己做个人网站的初衷, ...

  9. 转:MPlayer源代码分析

    一.Mplayer支持的格式 MPlayer是一个LINUX下的视频播放器,它支持相当多的媒体格式,无论在音频播放还是在视频播放方面,可以说它支持的格式是相当全面的. 视频格式支持:MPEG.AVI. ...

  10. 阿里云产品介绍(三):云数据库RDS

    写完云服务器ECS,本来想先写负载均衡的. 因为发现很多客户,都是直接将单台云服务器应用对外提供访问,如果云服务器宕机,应用就会停止服务.云服务器标称有99.95%的可用率,一年下来宕机四个多小时也是 ...