NSMutableDictionary avec une clé unique contenant plusieurs valeurs dans la programmation Objective-C
S'il vous plaît dites-moi comment peut-on avoir plusieurs valeurs pour la même clé dans NSMutableDictionary?
Lorsque j'utilise le ci-dessous approche, les valeurs sont remplacées par les plus récentes.
Dans mon cas:
[dictionary setObject:forename forKey:[NSNumber numberWithint:code]];
[dictionary setObject:surname forKey:[NSNumber numberWithint:code]];
[dictionary setObject:reminderDate forKey:[NSNumber numberWithint:code]];
Quand j'ai vue le contenu du dictionnaire, je ne reçois que des reminderDate
pour le code de la clé. Ici, le code est le même pour toutes les valeurs. Comment puis-je éviter les prénom et nom de famille d'être remplacé par plannedReminder
.
Merci!
source d'informationauteur suse
Vous devez vous connecter pour publier un commentaire.
Il semble que vous utilisez
code
comme la clé et vous souhaitez représenter plusieurs valeurs basées surcode
. Dans ce cas, vous devez soit:Résumé de toutes les données associées à
code
dans une classe à part (peut-être appeléPerson
) et d'utiliser les instances de cette classe en tant que valeurs dans le dictionnaire.Utiliser plus d'une couche de dictionnaires:
Si vous êtes vraiment catégorique à propos de stocker des objets dans un dictionnaire, et si vous traitez avec des chaînes, vous pouvez toujours ajouter l'ensemble de vos chaînes séparées par des virgules, puis lors de l'extraction de l'objet à partir de la clé, vous aurez toutes vos objets dans une situation de quasi-format csv! Vous pouvez facilement analyser cette chaîne en un tableau d'objets.
Voici un exemple de code, vous pourriez exécuter:
Et puis de récupérer et d'analyser l'objet dans le dictionnaire:
Il pourrait ne pas être aussi propre que d'avoir des couches de dictionnaires comme dreamlax suggéré, mais si vous faites affaire avec un dictionnaire dans lequel vous souhaitez stocker un tableau pour l'un des principaux et des objets dans ce tableau ont pas de touches spécifiques à eux-mêmes, c'est une solution!
Je ne pense pas que vous comprenez comment les dictionnaires de travail. Chaque touche peut avoir une seule valeur. Vous aurez envie d'avoir un dictionnaire de dictionnaires ou d'un dictionnaire de tableaux.
Ici, vous créez un dictionnaire pour chaque personne, et puis la stocker dans votre master dictionnaire.
Syntaxe moderne est beaucoup plus propre.
A. Si vous êtes la construction d'une structure statique au moment du chargement:
B. Si l'ajout d'éléments en temps réel(probablement):
Vous accéder en 2D dictionnaire...