Search code examples
iphoneobjective-ccocoa-touchnsdictionarynsmutabledictionary

How can I convert an NSDictionary to an NSMutableDictionary?


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?


Solution

  • 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.