NSMutableDictionary 内の既存のオブジェクトのキーを変更するにはどうすればよいですか?
質問する
1618 次
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 に答える