2012-05-20 45 views

回答

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 

你應該預先/後綴可能添加到方法名稱,以避免在未來的運行時名稱衝突。上述內容也不是線程安全的,需要三個步驟才能執行重命名。

相關問題