如何更改NSMutableDictionary中现有对象的键?

时间:2012-05-20 06:20:03

标签: ios nsmutabledictionary

如何更改NSMutableDictionary中现有对象的键?

1 个答案:

答案 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

您可能应该在方法名称中添加前/后缀,以避免将来在运行时发生名称冲突。以上也不是线程安全的,执行重命名需要三个步骤。