2010-04-21 4 views
0

J'utilisais NSDictionary et j'ai observé que les objets du dictionnaire sont triés automatiquement par rapport aux clés, donc ma question est de savoir comment éviter ce tri, tout drapeau disponible pour le déclencher, donc je reçois l'objet dans le même ordre que je suis entré.Éviter le tri dans NSDictionary

Je sais que vous pensez peut-être quelle différence cela fait dans le dictionnaire puisque nous récupérons la valeur par rapport à la clé, mais je reçois d'abord tous les clés dont je reçois les clés, cet ordre est ce dont j'ai besoin. l'ordre de la façon dont je suis entré, tout comme dans NSArray.

donnez vos commentaires si la question n'est pas claire.

Merci

Répondre

1

Je suppose qu'il n'y aura pas une méthode pour contrôler le tri dans NSDictionary, parce que « NSDictionary » est une table de hachage qui utilise la fonction de hachage pour choisir l'endroit pour stocker les valeurs (pour l'accès rapide) .

Pour personnaliser le dictionnaire, vous pouvez utiliser CFDictionaryRef là, vous pouvez écrire votre callback personnalisé. Vous pouvez écrire votre propre fonction CFDictionaryHashCallBack pour calculer l'emplacement de stockage. CFDictionary est "ponté sans frais" avec NSDictionary.

Cordialement
Devara Gudda

+0

Thnaks Devara Gudda – RVN