0

新しいオブジェクト NSMutableDictionay を NSMutableArray に追加すると、以前のオブジェクトが置き換えられるのはなぜですか?

例えば:

[appDelegate.tracksDict setObject:currentTrackTitle forKey:@"track_title"];
[appDelegate.tracksDict setObject:currentTrackTopic forKey:@"topic"];
[appDelegate.tracksArray addObject:[appDelegate.tracksDict copy]];

その印刷...

2010-10-01 14:03:35.021 XML[48889:207]Tracks Array: {
    topic = "Cold Calling";
    "track_title" = "Sleeping and selling";
}
2010-10-01 14:03:35.021 XML[48889:207]Tracks Array: {
    topic = "Gate Keeper";
    "track_title" = "Selling like a chicken";
}
2010-10-01 14:03:35.021 XML[48889:207]Tracks Array: {
    topic = "Gate Keeper";
    "track_title" = "Don't you try to sell";
}

のようなものの代わりに...

2010-10-01 14:03:35.021 XML[48889:207]Tracks Array: {
    topic = "Cold Calling";
    track_title = "Sleeping and selling";

    topic = "Gate Keeper";
    track_title = "Selling like a chicken";

    topic = "Gate Keeper";
    track_title = "Selling like a chicken";
}

私は言語をよく知らないので、それはばかげていると確信しています。

4

1 に答える 1

1

あなたが投稿した「プリント」に基づいてあなたの質問を理解するのは難しいですが、NSDictionary オブジェクトの NSArray が必要なようです。NSDictionary は、特定のキーに対して 1 つのオブジェクトしか保持できませんが、(事実上) 無制限のキーを持つことができます。トラックごとに 1 つずつ辞書の配列を作成する必要があるようです。

于 2010-10-01T18:58:28.967 に答える