Iphone 如何将NSDictionary转换为NSMutableDictionary?
我有一本现有的NSD字典,它有: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 = "<
{
"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];