2

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

4

1 回答 1

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

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

于 2012-05-20T06:27:21.833 回答