2011-05-25 74 views
0
NSData* myData = [NSData dataWithBytes:&pEvent length:sizeof(pEvent)]; 
    wTimerId = 99; 

    [m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]]; 
    wTimerId = 96; 
    [m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]]; 
    wTimerId = 97; 
    [m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]]; 
    wTimerId = 98; 
    [m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]]; 
    wTimerId = 95; 
    [m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]]; 

我正在以99,96,97,98,95的顺序存储密钥值的数据。但它被存储为以无序形式获取字典密钥和值

{ 
    98 = <b0c71000 01000000>; 
    97 = <b0c71000 01000000>; 
    96 = <b0c71000 01000000>; 
    99 = <b0c71000 01000000>; 
    95 = <b0c71000 01000000>; 
} 

为什么它so.Is有什么办法来安排,其中最先被存储方式的字典。

回答

3

词典本质上是无序的。如果您想订购,请使用数组。

如果您想要基于顺序和键的查找,请同时存储数组和字典;一个用于保存顺序,另一个用于保存基于密钥的查找。

只要保持同步。