tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

immutableなオブジェクトをmutableに変換する @Objective-C

NSArrayの中にNSDictionaryが格納されたオブジェクトを取得した後に中身を変更したいのでmutableなオブジェクトに変換する

- (NSMutableArray*) toMutableArray:(NSArray*) nodes
{
  NSMutableArray *array = [NSMutableArray array];
    for (NSDictionary *node in nodes) {
        NSMutableDictionary *data = [NSMutableDictionary dictionary];
        for (id key in [node keyEnumerator]) {
            [data setObject:[node valueForKey:key] forKey:key];
        }
        [array addObject:data];
    }
    return array;
}