NSMutableDictionary: méthode de mutation envoyée à un objet immuable

Le code suivant retourne une exception avec le message d'erreur suivant "la mutation de la méthode envoyé immuable objet" lors de la tentative de removeObjectForKey

NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"];

NSString *key = self.currentDeviceNameText.text;
NSString *ipAddressTemp = [storedIpDictionary objectForKey:key];

[storedIpDictionary removeObjectForKey:key]; <----Crashes here

storedIpDictionary[key] = ipAddressTemp;

Pas sûr de ce que la question est, peut-être que c'est dû à la récupération du dictionnaire à partir d'un NSUserDefaults.

Toutefois, le code suivant fonctionne sans aucun problème.

NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"];
[storedIpDictionary removeAllObjects];

source d'informationauteur Remixed123 | 2014-08-04