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

ランタイムでの将来の名前の競合を回避するために、メソッド名に前置/後置を追加する必要があります。上記もスレッドセーフではありません。名前の変更を実行するには3つの手順が必要です。

于 2012-05-20T06:27:21.833 に答える