Je veux insérer une clé avec une valeur correspondante dans un dictionnaire existant ...
Je peux définir des valeurs pour les clés existantes dans le dictionnaire, mais je ne peux pas ajouter de nouvelle valeur de clé ...
Toute aide serait appréciée.
Utiliser NSMutableDictionary
NSMutableDictionary *yourMutableDictionary = [NSMutableDictionary alloc] init];
[yourMutableDictionary setObject:@"Value" forKey:@"your key"];
Mise à jour pour Swift:
Ce qui suit est la réplique exacte de Swift pour le code mentionné ci-dessus
var yourMutableDictionary = NSMutableDictionary()
yourMutableDictionary.setObject("Value", forKey: "Key")
Mais je vous suggère d’utiliser la méthode du Dictionnaire Swift.
var yourMutableDictionary = [String: AnyObject]() //Open close bracket represents initialization
//The reason for AnyObject is a dictionary's value can be String or
//Array or Dictionary so it is generically written as AnyObject
yourMutableDictionary["Key"] = "Value"
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
En utilisant cette méthode, nous pouvons ajouter la nouvelle valeur à NSMutableDictionary
[dict setObject:@"Value" forKey:@"Key"];
Pour savoir si la clé existe dans le dictionnaire
[[dict allKeys] containsObject:@"key"];
NSDictionnaire est immuable. Utilisez plutôt NSMuteableDictiory.
ajout Objets: setObject:forKey:
modifier
tester si la clé est présente:
[[aDict allKeys] containsObject:@"key"];
Salut je reçois le contenu de JSON dans le format du dictionnaire et de cela j'ajoute le contenu dans un autre dictionnaire
//here contract is my json dictionary
NSArray *projectDBList =[contract allKeys];//listing all the keys in dict
NSMutableDictionary *projectsList=[[NSMutableDictionary alloc]init];
[projectDBList enumerateObjectsUsingBlock:^(NSString * obj, NSUInteger idx, BOOL *stop) {
[projectsList setObject:[contract objectForKey:obj] forKey:obj];
}];