【发布时间】:2009-08-14 13:07:54
【问题描述】:
我的字典存储在 NSUserDefaults 中,我需要在该字典中添加/删除项目。
困扰我的是,为此我必须创建整个字典的可变副本、更改一个元素并用新副本替换整个字典。
copy = [[defaults objectForKey:@"foo"] mutableCopy];
[copy setObject:… forKey:@"bar"];
[defaults setObject:copy forKey:@"foo"];
它涉及到对层次结构更深层次的对象进行更多的复制和重新设置。
有没有更好的办法?
我尝试使用[defaults setValue:… forKeyPath:@"foo.bar"],但这似乎不起作用(对象不可变)。
【问题讨论】:
标签: cocoa copy nsdictionary nsuserdefaults