45 votes

Comment puis-je convertir un NSDictionary en NSMutableDictionary ?

J'ai un NSDictionary existant qui a :

 {
    "charts_count" = 2;
    "created_at" = "2010-04-12T16:37:32Z";
    exchange = NASDAQ;
    "followers_count" = 259;
    id = 8404;
    industry = "<null>";
    "messages_count" = 1436;
    ric = "GRPN.O";
    sector = "<null>";
    symbol = GRPN;
    title = Groupon;
    "updated_at" = "2011-09-05T04:17:56Z";
}

Comment puis-je prendre ce contenu et le mettre dans un nouveau NSMutableDictionary ?

135voto

Dietrich Epp Points 72865

Utilisez -mutableCopy .

 NSDictionary *d;
NSMutableDictionary *m = [d mutableCopy];

Notez que -mutableCopy renvoie id ( Any dans Swift), vous voudrez donc attribuer/caster au bon type. Il crée une copie superficielle du dictionnaire d'origine.

8voto

Developer Points 1472

En cas de Swift

 var tempDic: NSMutableDictionary = yourDictionary.mutableCopy() as NSMutableDictionary

2voto

iOS Points 411

Essayez ceci dans Swift 3

 let mutableDic: NSMutableDictionary =  (yourDictionary as! NSDictionary).mutableCopy() as! NSMutableDictionary

1voto

Pranav Kasetti Points 2072
NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] init];
[newInfo setDictionary:info];

Fonctionne également, puisque vous définissez le dictionnaire sans ajout. Vous pouvez aussi utiliser:

 [newInfo addEntriesFromDictionary:info];

pour le même effet et à ajouter au contenu existant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X