如何更改NSMutableDictionary中现有对象的键?
答案 0 :(得分:3)
您必须从原始密钥中删除该对象,然后使用新密钥将其添加回来。您可以将其转换为NSMutableDictionary
上的类别。
该类别看起来像这样:
@interface NSMutableDictionary (RenameKey)
- (void)renameKey:(NSString *)original to:(NSString *)new;
@end
@implementation NSMutableDictionary (RenameKey)
- (void)renameKey:(id)original to:(id)new; {
id value = [self objectForKey:original];
[self removeObjectForKey:original];
[self setObject:value forKey:new];}
@end
您可能应该在方法名称中添加前/后缀,以避免将来在运行时发生名称冲突。以上也不是线程安全的,执行重命名需要三个步骤。