NSDictionary 的有序性: (by the key in some rule)spa
NSDictionary*myDictionary =[NSDictionary dictionaryWithObjectsAndKeys:@"o1",@"k1",@"o6",@"k4",@"o2",@"k2",@"o3",@"k3",@"o5",@"k5", nil];NSInteger count =[myDictionary count];排序
以下代碼1:get
NSLog(@"%@ ", [myDictionary allKeys]);it
NSLog(@"%@ ", [myDictionary allValues]);io
每次運行都是這樣的結果object
2014-04-10 10:55:58.548[3105:70b] (dict
k4,di
k3,co
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進行排序