【问题标题】:How can I change the key of an existing object in a NSMutableDictionary?如何更改 NSMutableDictionary 中现有对象的键?
【发布时间】:2012-05-20 06:20:02
【问题描述】:

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

【问题讨论】:

  • 您无需更新您的问题以包含答案。答案已经足够好了。

标签: ios nsmutabledictionary


【解决方案1】:

您必须从原始密钥中删除对象并使用新密钥将其添加回来。你可以在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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多