получение словарных ключей и значений в неупорядоченном виде - PullRequest
0 голосов
/ 25 мая 2011
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>;
}

почему это так. Есть ли способ упорядочить словарь так, как он хранится первым.

1 Ответ

3 голосов
/ 25 мая 2011

Словари по своей природе неупорядочены. Если вы хотите заказать, используйте массив.

Если вы хотите поиск по порядку и по ключу, сохраните массив и словарь; один для сохранения порядка, другой для сохранения поиска на основе ключей.

Просто синхронизируйте их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...