【发布时间】:2012-05-20 06:20:02
【问题描述】:
如何更改 NSMutableDictionary 中现有对象的键?
【问题讨论】:
-
您无需更新您的问题以包含答案。答案已经足够好了。
如何更改 NSMutableDictionary 中现有对象的键?
【问题讨论】:
您必须从原始密钥中删除对象并使用新密钥将其添加回来。你可以在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
您可能应该在方法名称中添加前缀/后缀,以避免将来在运行时发生名称冲突。以上也不是线程安全的,重命名需要三个步骤。
【讨论】: