Iphone 如何将NSDictionary转换为NSMutableDictionary?

Iphone 如何将NSDictionary转换为NSMutableDictionary?,iphone,objective-c,cocoa-touch,nsdictionary,nsmutabledictionary,Iphone,Objective C,Cocoa Touch,Nsdictionary,Nsmutabledictionary,我有一本现有的NSD字典,它有: { "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 = "<

我有一本现有的NSD字典,它有:

{
    "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";
}
{
“图表计数”=2;
“创建于”=“2010-04-12T16:37:32Z”;
交易所=纳斯达克;
“追随者数量”=259;
id=8404;
行业=”;
“邮件数量”=1436;
ric=“GRPN.O”;
部门=”;
符号=GRPN;
标题=Groupon;
“更新时间”=“2011-09-05T04:17:56Z”;
}

如何将这些内容放入新的NSMutableDictionary

使用
-mutableCopy

NSDictionary *d;
NSMutableDictionary *m = [d mutableCopy];
请注意,
-mutableCopy
返回
id
Swift中的Any
),因此您需要分配/转换到正确的类型。它会创建原始词典的浅拷贝。

如果是Swift

var tempDic: NSMutableDictionary = yourDictionary.mutableCopy() as NSMutableDictionary
在swift 3中试试这个

let mutableDic: NSMutableDictionary =  (yourDictionary as! NSDictionary).mutableCopy() as! NSMutableDictionary
同样有效,因为您正在设置字典不追加。您还可以使用:

[newInfo addEntriesFromDictionary:info];

为了达到同样的效果,并附加到现有内容。

应该注意的是,它的可能重复项不会固有地使字典对象也可变,因此如果您有一个包含更多字典数组的字典,则子项将不会变。@Vlad-我想完全实现您所说的,需要固有地使字典对象也可变,即字典的所有子对象都应该变为可变。@Vlad-我想实现你所说的,有一个具有数组的字典和其他字典,需要使所有子对象固有地可变。
[newInfo addEntriesFromDictionary:info];