How can I convert an NSDictionary to an NSMutableDictionary?
39,815
Solution 1
Use -mutableCopy
.
NSDictionary *d;
NSMutableDictionary *m = [d mutableCopy];
Note that -mutableCopy
returns id
(Any
in Swift) so you will want to assign / cast to the right type. It creates a shallow copy of the original dictionary.
Solution 2
In case of Swift
var tempDic: NSMutableDictionary = yourDictionary.mutableCopy() as NSMutableDictionary
Solution 3
Try this in swift 3
let mutableDic: NSMutableDictionary = (yourDictionary as! NSDictionary).mutableCopy() as! NSMutableDictionary
Solution 4
NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] init];
[newInfo setDictionary:info];
Also works, since you are setting the dictionary not appending. You can also use:
[newInfo addEntriesFromDictionary:info];
for the same effect and to append to existing content.
Related videos on Youtube
Author by
Sheehan Alam
iOS, Android and Mac Developer. i can divide by zero.
Updated on July 09, 2022Comments
-
Sheehan Alam almost 2 years
I have an existing NSDictionary that has:
{ "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"; }
How can I take these contents and put it into a new NSMutableDictionary?
-
jscs over 12 yearspossible duplicate of Set an NSMutableDictionary variable to an NSDictionary
-
-
Vlad almost 9 yearsIt should be noted that this will not inherently make the dictionary objects also mutable so if you have a dictionary of arrays of more dictionaries the children will not become mutable.
-
Anand about 3 years@Vlad - I want to achieve exactly What you said, Need to Make inherently make the dictionary objects also mutable i.e. all children objects of the dictionary should become mutable.
-
Anand about 3 years@Vlad - I wanted to achieve what you said, have a dictionary that has an array and other dictionaries, need to make all children mutable inherently.