如何更新 NSMutableDictionary?
Posted
技术标签:
【中文标题】如何更新 NSMutableDictionary?【英文标题】:How to update NSMutableDictionary? 【发布时间】:2010-02-09 07:16:04 【问题描述】:我有一个 NSMutableDictionary。
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
我必须更新该字典中的一个元素。我该怎么做?
【问题讨论】:
取决于你的意思更新... 我必须删除一个对象并为一个键插入另一个值。这个 NSMutableDictionary 是用户应用程序设置的 plist。用户会经常更改它。 【参考方案1】:请参考这里的API
首先使用检索对象
[dict objectForKey:@"key"];
稍后,您可以使用以下方法重新设置它们:
- (void)setObject:(id)anObject forKey:(id)aKey
- (void)setValue:(id)value forKey:(NSString *)key
【讨论】:
谢谢。我试过这样。它起作用了.. [plistDict removeObjectForKey:@"name"] ; [plistDict setObject:@"my name" forKey:@"name"]; 在设置新值之前,您无需删除键的对象。 我只需要 [plistDict setObject:@"my name" forKey:@"name"]; ?行。我会试试这个。谢谢。【参考方案2】:字典只允许您为每个键设置一个对象,因此如果您使用“为键设置对象”,它将更新当前对象
【讨论】:
【参考方案3】:NSMutableDictionary 的方法 addEntriesFromDictionary.
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference.html
如果两个字典都包含相同的键,则接收字典的该键的先前值对象会被发送一条释放消息,并且新的值对象会取而代之。
【讨论】:
以上是关于如何更新 NSMutableDictionary?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 NSMutableDictionary int 值
如何将 NSArray 添加为 NSMutableDictionary 的 NSMutableDictionary 键?